
python爬虫
文章平均质量分 77
以笔记的形式,详细记录Python爬虫各方面知识点由浅入深,下分六个子模块:爬虫介绍、网络请求、数据解析、数据存储、爬虫进阶、Scrapy框架
mercycrazy
这个作者很懒,什么都没留下…
展开
-
python爬虫之Scrapy框架
Scrapy框架: 写一个爬虫,需要做很多的事情。比如:发送网络请求、数据解析、数据存储、反反爬虫机制(更换ip代理、设置请求头等)、异步请求等。这些工作如果每次都要自己从零开始写的话,比较浪费时间。因此Scrapy把一些基础的东西封装好了,在他上面写爬虫可以变的更加的高效(爬取效率和开发效率)。因此真正在公司里,一些上了量的爬虫,都是使用Scrapy框架来解决。 安装Scrapy框架: pip install scrapy。 可能会出现问题: 在ubuntu下要先使用以下命令安装依赖包:sudo ap原创 2020-09-11 10:12:50 · 352 阅读 · 0 评论 -
python爬虫进阶(二):动态网页爬虫
动态网页爬虫 什么是动态网页爬虫和AJAX技术: 动态网页,是网站在不重新加载的情况下,通过ajax技术动态更新网站中的局部数据。比如拉勾网的职位页面,在换页的过程中,url是没有发生改变的,但是职位数据动态的更改了。 AJAX(Asynchronouse JavaScript And XML)异步JavaScript和XML。前端与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用Ajax)如果需要更新内容,必须原创 2020-09-11 10:12:11 · 349 阅读 · 0 评论 -
python爬虫进阶(一):多线程
多线程: 什么是多线程: 理解:默认情况下,一个程序只有一个进程和一个线程,代码是依次线性执行的。而多线程则可以并发执行,一次性多个人做多件事,自然比单线程更快。 官方:https://baike.baidu.com/item/多线程/1190404?fr=aladdin 如何创建一个基本的多线程: 使用threading模块下的Thread类即可创建一个线程。这个类有一个target参数,需要指定一个函数,那么以后这个线程执行的时候,就会执行这个函数的代码。示例代码如下: import time im原创 2020-09-11 10:11:36 · 250 阅读 · 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 · 307 阅读 · 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 · 451 阅读 · 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 · 705 阅读 · 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 · 896 阅读 · 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 · 328 阅读 · 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 · 465 阅读 · 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 · 380 阅读 · 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 · 825 阅读 · 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 · 322 阅读 · 0 评论