爬虫实战:urllib2 应用之如何实现对某贴吧数据针对爬取、并完成实现代码封装?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了爬虫实战:urllib2 应用之如何实现对某贴吧数据针对爬取、并完成实现代码封装?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1671字,纯文字阅读大概需要3分钟。
内容图文
1、导入项目所需要的的扩展库
1# -*- coding: UTF-8 -*-
2
3# 导入 urllib 用于参数数据编码
4import urllib
5# 导入 urllib2 用于执行核心爬虫
6import urllib2
7
8# 导入 UserAgent 用于生成 UA
9from fake_useragent import UserAgent
2、执行网页请求函数
1# 执行网页请求
2def req_url(self,full_url):
3 headers = {
4 # 随机生成一个 User-Agent
5 'User-Agent': self.user_agent.random
6 }
7 # 构造 Request 请求对象
8 request = urllib2.Request(headers=headers, url=full_url)
9 # 执行请求
10 response = urllib2.urlopen(request)
11 return response.read()
3、保存网页下载的 html 源代码
1# 将爬取下来的 html 源代码保存
2def save_doc(self,html_doc, file_name):
3 print "开始保存文件:", file_name
4 with open(file_name, 'w') as f:
5 f.write(html_doc)
6 print "完成文件:", file_name, " 保存"
4、组装完整的爬虫地址、参数组装等
1# 构造爬虫环境、并执行
2def run_spider(self):
3 for page in range(self.begin, self.end + 1):
4 # 计算页码
5 pn = (page - 1) * 50
6 # 对中文参数进行编码
7 name = urllib.urlencode({'kw': self.tieba_name})
8 # 组装完整的爬虫地址
9 full_url = self.url + name + '&pn=' + str(pn)
10 # 根据页数定义文件名称
11 file_name = str(page) + '.html'
12 # 执行爬虫网页请求
13 html_doc = self.req_url(full_url)
14 # 保存文件
15 self.save_doc(html_doc, file_name)
5、用户自定义输入参数
1# 用户输入相关数据
2url = 'http://tieba.baidu.com/f?'
3tieba_name = raw_input('请输入要爬取的贴吧名称:')
4begin = int(raw_input('请输入开始页码:'))
5end = int(raw_input('请输入结束页码:'))
实力的提升是最重要的,进入公众号回复:“贴吧爬虫源代码”,领取贴吧爬虫源代码、快去领取刷题吧~
内容总结
以上是互联网集市为您收集整理的爬虫实战:urllib2 应用之如何实现对某贴吧数据针对爬取、并完成实现代码封装?全部内容,希望文章能够帮你解决爬虫实战:urllib2 应用之如何实现对某贴吧数据针对爬取、并完成实现代码封装?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。