第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

使用Python3.5寫簡單網(wǎng)絡(luò)爬蟲

標(biāo)簽:
Python
<一>用urllib库访问URL并采集网络数据

-1. 直接采集
发送请求,打开URL,打印传回的数据(html文件)
图片描述

- 2. 模拟真实浏览器访问

1)发送http头信息(header)
浏览器在访问网站服务器时,会发送http header头信息。因为有些网站可能会限制爬虫的访问,在写爬虫是如果加上合适的header,伪装成一个浏览器就会更容易访问成功。http header包含很多信息,用浏览器开发者工具可以看到访问网站时浏览器发送给服务器的请求信息(开发者工具——Network——Doc),写爬虫的时候根据需要加上适当的信息即可。
图片描述

方法如下:
先用Request方法先把url放入一个request对象req中,然后用add_header方法给req加入头信息
语法:req.add_header(key1,value1) req.add_header(key2,value2) #一条语句加入一对信息
从浏览器找到的这些成对的头信息,都可以逐个用以上的方法加入
图片描述
例如最常用的就是的User-Agent信息,它的作用就是表面浏览器的身份。内容包括浏览器名称,版本,系统信息等等。
图片描述
add_header方法传入的是一个字典,我们需要把User-Agent 传给key,把查到的User-Agent:后面的内容(各种浏览器访问的身份信息等)传给value。
代码实例:

from urllib import request
req=request.Request("https://en.wikipedia.org")
req.add_header("user-agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36")
response=request.urlopen(req)
print(response.read())

2) 发送data表单数据
发送post请求,需给urlopen()传入两个参数,第一个是包含url地址的(Request方法生成的)请求对象req,第二个是编码后的data表单信息。就是要把需要发送的表单信息通过urlencode()方法编码,生成规定格式的数据传送给Request对象。

这种data表单一般是处理需要动态响应的网页时用的,比如需要用户名和密码登录的,或者需要根据搜索条件查询的(火车票查询等等)

具体方法如下:
图片描述
图片描述

可以用http协议调试代理工具(如:fiddler,postman)方便的分析http发送的各种请求数据,这些工具可以模拟向服务器发送请求并取得响应的过程,在写程序之前用它调试一下,就可以知道自己的方法能否访问成功。

要更好的理解这部分内容,需要去系统学习一下htttp表单的知识,目前可以先看一下W3C的HTML表单详解教程:http://www.w3school.com.cn/html/html_forms.asp

小结1:urllib.request模块有两个重要的方法:
urlopen()和Request( )
Request()的参数是一个合法的url地址,返回的是一个Request请求对象
(req),这个对象可以用add_header方法加入头信息。
urlopen()的参数可以直接用url地址,也可以用Request对象,如果在发送 访问请求时需要额外加入一些信息(http
header,data表单之类)就用第二种,urlopen()传回的就是一个类文件对象,可以用read( )方法读取网页的HTML文件


<二>用beautifulsoup库解析采集到的数据
點(diǎn)擊查看更多內(nèi)容
21人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消