当前位置:网站首页>爬虫练习题(三)

爬虫练习题(三)

2022-07-06 23:52:00 InfoQ

题目:网页"https://www.6pian.cn/xq.html"
 1.需求爬取前六页的页面源码
 2.保存
'''
1.分析网页:
https://www.6pian.cn/
https://www.6pian.cn/xq.html
https://www.6pian.cn/xq/1/0.html
https://www.6pian.cn/xq/2/0.html
https://www.6pian.cn/xq/3/0.html
'''


import urllib.request

start = int(input("请输入起始页"))
end = int(input("请输入结束页"))
headers = {
 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.66 Safari/537.36 Edg/103.0.1264.44'
}
for n in range(start, end + 1):
 url = 'https://www.6pian.cn/xq/{}/0.html'.format(n)
 print(url)
 q = urllib.request.Request(url,headers=headers)
 response = urllib.request.urlopen(q)
 with open(f'第{n}页.html','w',encoding='utf-8')as f:
 f.write(response.read().decode('utf-8'))

首先,分析牛片网页链接,找到网页的规律,构建URL
每一个页面的网页链接都不一样,一定要谨慎仔细的检查,找到规律,分别用input导入起始页和终止页,并用变量接收,用headers伪装,在页面中有几点开检查,找到整个网页的包,点开后找到user agent,复制到headers里面,有的时候会需要复制cookie,但在这题不需要用到
输入循环保证一面爬完后,紧接着爬下一页,这样你的公式必须要写对,逻辑清楚才能写出正确答案,答案不能死,搬硬套,后面就是构建URL,把变量n传入,代替链接中的变量,使整个链接,满足所有页面链接,一旦爬取失败,你就要重新审视自己的构建,有没有出现问题?能不能满足其他页面的链接,后面最好是打印一下,你刚构建好的网址,确保无误后就可以实例化请对象,这里要看Request里面有哪几个变量并且传入用一个变量接收整个实例化过程
With open用来保存数据第二个引号中,w为写入如果不写默认为r为只读,转码时一定要注意看看他的编码类型输错了肯定会报错,这样你就可以在pycharm里得到六个页面的网页源码了。



null
null
User-Agent在这里:
null
整个页面的数据包:
null
原网站

版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://xie.infoq.cn/article/f65870bf4a93ca09c491b278c