1、python语法的学习,推荐python菜鸟教程,廖雪峰官网等。
2、python开发工具推荐使用pycharm,python环境推荐安装Anaconda,很多基础依赖不需要再下载安装,可以直接使用。
3、分析网页可以采用,浏览器F12,推荐使用谷歌浏览器。在network下,右键点击某一个请求,copy,copy as cURL(bash),然后使用常用工具CURL来自动生成request请求。避免自己编写代码。
4、python爬虫常用框架scrapy,相比自己编写代码,scrapy框架是一个快速、高层次的屏幕抓取和web抓取框架。
1、一个简单的爬取百度网页的信息代码。
import requests cookies = { cookies信息 } headers = { 'Connection': 'keep-alive', 'Cache-Control': 'max-age=0', 'Upgrade-Insecure-Requests': '1', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'Referer': 'https://www.baidu.com/link?url=xLR5f_WB-IC6kg5j7Cso7BzEuKRKAyJT-tFGLsnY7Ia&wd=&eqid=f23beba700003271000000025d3051c8', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'zh-CN,zh;q=0.9', } response = requests.get('https://www.baidu.com/', headers=headers, cookies=cookies) print(response.content.decode("UTF-8"))一个简单的爬虫代码完成。
2、想要提取网页中的信息时,可以使用re正则表达式,或者xpath。推荐使用xpath,它可以批量提取网页中的信息,效率高。python3正则,xpath教程,仅供大家参考。
3、提取“百度一下”中的文字 使用正则:
html = response.content.decode("UTF-8") pattern = '<input type="submit" id="su" value="(.*?)" class="bg s_btn">' title = re.findall(pattern, html, re.S | re.M)使用xpath:
html = response.content.decode("UTF-8") html = etree.HTML(response.content.decode("UTF-8")) name = html.xpath('//*[@id="su"]/@value')4、可以看出,如果爬取的信息多了,使用xpath要比re正则效率高很多。
5、一个简单的爬取百度的爬虫就完成了。
1、Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
①、Scrapy Engine(引擎):负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。
②、Scheduler(调度器):它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。
③、Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理。
④、Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器)。
⑤、Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方。
⑥、Downloader Middlewares(下载中间件):一个可以自定义扩展下载功能的组件。
⑦、Spider Middlewares(Spider中间件):一个可以自定扩展和操作引擎和Spider中间通信的功能组件
2、一张图了解爬虫scrapy框架基本原理以及执行流程。
温馨提示:该文章为本人自己创作,转载请标明出处。感谢各位!!!谢谢大家!!! 本人联系方式: QQ:961094233 邮箱:961094233@qq.com
