python爬虫
文章平均质量分 77
以笔记的形式,详细记录Python爬虫各方面知识点由浅入深,下分六个子模块:爬虫介绍、网络请求、数据解析、数据存储、爬虫进阶、Scrapy框架
mercycrazy
这个作者很懒,什么都没留下…
展开
-
python爬虫之Scrapy框架
Scrapy框架:写一个爬虫,需要做很多的事情。比如:发送网络请求、数据解析、数据存储、反反爬虫机制(更换ip代理、设置请求头等)、异步请求等。这些工作如果每次都要自己从零开始写的话,比较浪费时间。因此Scrapy把一些基础的东西封装好了,在他上面写爬虫可以变的更加的高效(爬取效率和开发效率)。因此真正在公司里,一些上了量的爬虫,都是使用Scrapy框架来解决。安装Scrapy框架:pip install scrapy。可能会出现问题:在ubuntu下要先使用以下命令安装依赖包:sudo ap原创 2020-09-11 10:12:50 · 324 阅读 · 0 评论 -
python爬虫进阶(二):动态网页爬虫
动态网页爬虫什么是动态网页爬虫和AJAX技术:动态网页,是网站在不重新加载的情况下,通过ajax技术动态更新网站中的局部数据。比如拉勾网的职位页面,在换页的过程中,url是没有发生改变的,但是职位数据动态的更改了。AJAX(Asynchronouse JavaScript And XML)异步JavaScript和XML。前端与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用Ajax)如果需要更新内容,必须原创 2020-09-11 10:12:11 · 322 阅读 · 0 评论 -
python爬虫进阶(一):多线程
多线程:什么是多线程:理解:默认情况下,一个程序只有一个进程和一个线程,代码是依次线性执行的。而多线程则可以并发执行,一次性多个人做多件事,自然比单线程更快。官方:https://baike.baidu.com/item/多线程/1190404?fr=aladdin如何创建一个基本的多线程:使用threading模块下的Thread类即可创建一个线程。这个类有一个target参数,需要指定一个函数,那么以后这个线程执行的时候,就会执行这个函数的代码。示例代码如下:import timeim原创 2020-09-11 10:11:36 · 225 阅读 · 0 评论 -
python爬虫之数据存储(四):MySQL数据库
MySQL数据库操作MySQL数据库安装:下载地址:https://dev.mysql.com/downloads/windows/installer/5.7.0.html如果提示没有.NET Framework框架。那么就在提示框中找到下载链接,下载一个就可以了。如果提示没有Microsoft Virtual C++ x64(x86),那么百度或者谷歌这个软件安装即可。Python连接MySQL数据库:pip install pymysql连接代码:db = pymysql.conne原创 2020-09-11 10:10:47 · 272 阅读 · 0 评论 -
python爬虫之数据存储(三):JSON字符串处理
JSON字符串处理:什么是JSON字符串:JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。更多解释请见:https://baike.baidu.com/item/JSON/2462549?fr=a原创 2020-09-11 10:10:13 · 429 阅读 · 0 评论 -
python爬虫之数据存储(二):Excel文件处理
Excel文件处理:Sheet相关的操作:workbook = xlrd.open_workbook("成绩表.xlsx")# 获取所有的sheet名字# print(workbook.sheet_names())# 根据索引获取指定的sheet对象# sheet = workbook.sheet_by_index(1)# print(sheet.name)# 根据名称获取指定的sheet对象# sheet = workbook.sheet_by_name("2班")# print原创 2020-09-11 10:09:15 · 640 阅读 · 1 评论 -
pyhton爬虫之数据存储(一):CSV文件处理
CSV文件处理:CSV文件读取的两种方式:import csv# 这种方式读取到的每一条数据是一个列表,所以需要通过下标的方式获取具体某一个值# with open("stock.csv",'r',encoding='gbk') as fp:# reader = csv.reader(fp)# for x in reader:# print(x[3])# 这种方式读取到的每一条数据是一个字典,所以可以通过列名获取数据with open("stock.cs原创 2020-09-11 10:02:31 · 861 阅读 · 0 评论 -
python爬虫之数据解析(三):正则表达式
正则表达式:单字符匹配:# 匹配某个字符串:# text = "abc"# ret = re.match('b',text)# print(ret.group())# 点(.):匹配任意的字符(除了'\n'):# text = "\nabc"# ret = re.match('.',text)# print(ret.group())# \d:匹配任意的数字:# text = "aab"# ret = re.match('\d',text)# print(ret.group(原创 2020-09-11 10:01:15 · 310 阅读 · 0 评论 -
python爬虫之数据解析(二):XPath语法和lxml模块
XPath语法和lxml模块什么是XPath?xpath(XML Path Language)是一门在XML和HTML文档中查找信息的语言,可用来在XML和HTML文档中对元素和属性进行遍历。XPath开发工具Chrome插件XPath Helper。安装方法:打开插件伴侣,选择插件选择提取插件内容到桌面,桌面上会多一个文件夹把文件夹放入想要放的路径下打开谷歌浏览器,选择扩展程序,开发者模式打开,选择加载已解压的扩展程序,选择路径打开即可Firefox插件Try XPath。XPa原创 2020-09-11 10:00:32 · 429 阅读 · 0 评论 -
python爬虫之数据解析(一):BeautifulSoup4库
BeautifulSoup4库和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据。安装和文档:安装:pip install bs4中文文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html几大解析工具对比:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qiAU6oRI-159978955168原创 2020-09-11 10:00:02 · 361 阅读 · 0 评论 -
python爬虫之网络请求
网络请求1.urllib库 —内置urlopen函数:创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远程数据。url:请求的url。data:请求的data,如果设置了这个值,那么将变成post请求。返回值:返回值是一个http.client.HTTPResponse对象,这个对象是一个类文件句柄对象。有read(size)、readline、readlines以及getcode等方法。urlretrieve函数:这个函数可以方便的将网页上的一个文件保存到原创 2020-09-11 09:58:52 · 789 阅读 · 0 评论 -
python爬虫准备
一、什么是爬虫:爬虫是一个模拟人类请求网站行为的程序。可以自动请求网页、并把数据抓取下来,然后使用一定的规则提取有价值的数据。二、准备工具:安装Python:下载地址:https://www.python.org/或者使用Anaconda:https://www.anaconda.com/哪个软件无所谓,只要是Python3.6以上的版本就可以了。安装Pycharm:Pycharm Commnity(社区版):对于不需要做web开发,不需要使用Professional(专业版),使用原创 2020-09-11 10:45:21 · 290 阅读 · 0 评论