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 # 构造请求头
4 headers = {
5 # 随机生成一个 User-Agent
6 'User-Agent': self.user_agent.random,
7 # 设置请求格式
8 "Accept": "application/json, text/plain, */*",
9 # 允许请求语言
10 "Accept-Language": "zh-CN,zh;q=0.8"
11 }
12 # 请求参数
13 params = {
14 'start':self.begin,
15 'tags':self.name
16 }
17 # 对中文参数编码
18 params = urllib.urlencode(params)
19 # 构造 Request 请求对象
20 request = urllib2.Request(headers=headers, url=full_url,data=params)
21 # 执行请求
22 response = urllib2.urlopen(request)
23 return response.read()
3、保存文件
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 # 根据页数定义文件名称
4 file_name = str(self.name) + '.html'
5 # 执行爬虫网页请求
6 html_doc = self.req_url(self.url)
7 # 保存文件
8 self.save_doc(html_doc, file_name)
5、用户自定义输入
1# 用户自定义输入参数
2url = 'https://movie.douban.com/j/new_search_subjects?sort=T&range=0,10'
3type_name = raw_input('请输入豆瓣电影类型:')
4begin = int(raw_input('请输入爬取条数:'))
更多精彩前往微信公众号【Python 集中营】,专注于 python 技术栈,资料获取、交流社区、干货分享,期待你的加入~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。