爬虫练习题(三)

题目:网页"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里得到六个页面的网页源码了。

User-Agent在这里:

整个页面的数据包:

全部评论

相关推荐

11-04 14:10
东南大学 Java
_可乐多加冰_:去市公司包卖卡的
点赞 评论 收藏
分享
10-15 16:27
门头沟学院 C++
LeoMoon:建议问一下是不是你给他付钱😅😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务