简单的爬行--静态网页爬虫+下一篇实例

2023-12-02 21:32

本文主要是介绍简单的爬行--静态网页爬虫+下一篇实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

















1、有些网页需要用户登录才能访问,需要添加cookie的处理

2、有些网页需要代理才能访问

3、有些网页是使用HTTPS加密访问的

4、有些网页的URL存在相互自动的跳转关系




<span style="font-size:18px;">#coding=utf-8
import urllib2url='https://www.baidu.com/'
print '第一种方法'
response1=urllib2.urlopen(url)
print response1.getcode()#打印code看是否读取成功
print len(response1.read())#打印下载网页的长度print '第二种方法'
request=urllib2.Request(url)
request.add_header("user-agent","Mozilla/5.0")#把URL伪装成了一个浏览器
response2=urllib2.urlopen(request)
print response2.getcode()#打印code看是否读取成功
print len(response2.read())#打印下载网页的长度print '第三种方法'
cj=cookielib.CookieJar()#创建一个cookie的容器
opener=urllib2.build_opener(urllib2.HTTPCookiePrecessor(cj))
urllib2.install_opener(opener)#给urllib2增加opener功能
response3=urllib2.urlopen(url)
print response3.getcode()#打印code看是否读取成功
print cj
print response3.read()#打印下载网页</span>



















<span style="font-size:18px;">#coding=utf-8html_doc = """
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p><p class="story">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>,
<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
and they lived at the bottom of a well.</p><p class="story">...</p>
"""from BeautifulSoup import BeautifulSoup
soup=BeautifulSoup(html_doc,'html.parser',from_encoding='utf-8')print '获取所有的链接'
links =soup.find_all('a')
for link in links:print link.name,link['href'],link.get_text()print '获取lacie的链接'
link_node=soup.find('a',href='http://example.com/lacie')
print link_node.name,link_node['href'],link_node.get_text()print '正则匹配'
link_node=soup.find('a',href=re.compile (r'ill'))
print link_node.name,link_node['href'],link_node.get_text()print '获取P段落文字'
p_node=soup.find('p',class_="title")
print p_node.name,link_node.get_text()</span>


【没运行出来,不知道问题在哪】





这篇关于简单的爬行--静态网页爬虫+下一篇实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/446912

相关文章

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置

springboot项目中集成shiro+jwt完整实例代码

《springboot项目中集成shiro+jwt完整实例代码》本文详细介绍如何在项目中集成Shiro和JWT,实现用户登录校验、token携带及接口权限管理,涉及自定义Realm、ModularRe... 目录简介目的需要的jar集成过程1.配置shiro2.创建自定义Realm2.1 LoginReal

Python跨文件实例化、跨文件调用及导入库示例代码

《Python跨文件实例化、跨文件调用及导入库示例代码》在Python开发过程中,经常会遇到需要在一个工程中调用另一个工程的Python文件的情况,:本文主要介绍Python跨文件实例化、跨文件调... 目录1. 核心对比表格(完整汇总)1.1 自定义模块跨文件调用汇总表1.2 第三方库使用汇总表1.3 导

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清