python用request库简单爬取网页
使用前先要确定电脑是否安装了urllib,如果没有要先安装。
我先爬取贴吧的某个吧的信息
下面是实现方法:
from urllib import parse
from urllib import request
from time import sleep
url='https://tieba.baidu.com/f?&kw=' #确定URL规律
head={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1"} #伪装请求头
name=input("请输入要爬取的名称:")
#name = urllib.parse.quote(name)
start = int(input("请输入开始页:"))
end=int(input("请输入结束页:"))
for x in range(start,end+1): #百度贴吧的逻辑
pn = (x-1)*50
url=url+parse.urlencode({"kw":name,"pn":str(pn)}) #将URL中的汉字进行装码
print(url)
req=request.Request(url,headers=head)
res=request.urlopen(req)
html=res.read().decode("utf-8")
filename="%s吧第%d页.html"%(name,x)
with open(filename,'w',encoding="utf-8")as f: #文件读写
f.write(html)
print("第%d页爬取成功" % x)
sleep(0.5)
爬取后你的py文件所在的路径会导出爬取后的网页信息。