
爬虫
文章平均质量分 75
自学爬虫笔记实战
sereasuesue
生命不息 奋斗不止
逆风的方向更适合飞翔
展开
-
Scrapy爬虫快速入门
Scrapy快速入门Scrapy框架模块功能:Scrapy Engine(引擎):Scrapy框架的核心部分。负责在Spider和ItemPipeline、Downloader、Scheduler中间通信、传递数据等。 Spider(爬虫):发送需要爬取的链接给引擎,最后引擎把其他模块请求回来的数据再发送给爬虫,爬虫就去解析想要的数据。这个部分是我们开发者自己写的,因为要爬取哪些链接,页面中的哪些数据是我们需要的,都是由程序员自己决定。 Scheduler(调度器):负责接收引擎发送过来的请求,原创 2021-03-19 12:43:06 · 311 阅读 · 0 评论 -
爬虫小案例之爬取京东商品链接
观察URL翻页的变化爬取页面URL如下 base_url='https://search.jd.com/Search?keyword='+keyword for x in range(1,num+ 1): url=base_url+'&page=%d'% x爬取结果如下:import requestsimport reheaders = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10...原创 2021-04-30 15:04:56 · 2274 阅读 · 3 评论 -
python爬虫 2021中国大学排名定向爬虫
最近的几篇博客来源是之前我下载的一个课件在网上搜索了一下是一下这个课程的,可以结合视频博客以及代码去更好地学习Python网络爬虫与信息提取_北京理工大学_中国大学MOOC(慕课) (icourse163.org)“中国大学排名定向爬虫”实例介绍最好大学网:http://www.zuihaodaxue.cn/zuihaodaxuepaiming2016.html功能描述输入:大学排名URL链接输出:大学排名信息的屏幕输出(排名,大学名称,总分)技术路线:requestsbs4定向爬.原创 2021-04-29 15:24:05 · 6876 阅读 · 9 评论 -
XML,JSON,YAML
信息标记的三种形式信息的标记:标记后的信息可形成信息组织结构,增加了信息维度标记后的信息可用于通信、存储和展示标记的结构与信息一样具有重要价值标记后的信息有利于程序理解和运用HTML的信息标记:HTML通过预定义的<>...</>标签形式组织不同类型的信息信息标记的三种形式:XML,JSON,YAML三种信息标记形式的比较XML实例:XML 最早的通用信息标记语言,可扩展性好,但繁琐;Internet上的信息交互于传递JSON 信息有类型,适原创 2021-04-28 15:54:20 · 338 阅读 · 0 评论 -
Requests库爬取实例
网络爬虫的盗亦有道网络爬虫的尺寸爬取网页,玩转网页:小规模,数据量小,爬取速度不敏感;Requests库爬取网站 爬取系列网站:中规模,数据量较大,爬取速度敏感;Scrapy库爬取全网:大规模,搜索引擎,爬取速度关键;定制开发网络爬虫引发的问题网络爬虫的骚扰:受限于编写水平和目的,网络爬虫将会为Web服务器带来巨大的资源开销网络爬虫的法律风险:服务器上的数据有产权归属,网络爬虫获取数据后牟利将带来法律风险网络爬虫泄露隐私:网络爬虫可能具备突破简单访问控制的能力,获得被保护数据从原创 2021-04-28 15:36:54 · 474 阅读 · 1 评论 -
爬虫实战-爬取房天下网站全国所有城市的新房和二手房信息(最新)
网站url分析1.获取所有城市url http://www.fang.com/SoufunFamily.htm 例如:http://cq.fang.com/2.新房url http://newhouse.sh.fang.com/house/s/3.二手房url http://esf.sh.fang.com/4.北京新房和二手房url规则不同 http://newhouse.fang.com/house/s/ https://esf.fang.co原创 2021-04-10 15:05:03 · 5224 阅读 · 9 评论 -
scrapy爬取完整网页完整数据,简书(最新)
需求:简书网站整站爬虫。数据保存到mysql数据库中。将seleniume+chromedriver集成到scrapy项目准备开启一个有模板的scrapy项目,在这里有scrapy经验的朋友应该都比较熟练了。进入到创建好的虚拟环境当中运行以下shell代码。scrapy startproject [projectname]cd projectnamescrapy genspider -t crawl spidername ["spiderdomain"]完成之后就可以打开开发工具(py原创 2021-04-02 18:13:15 · 2549 阅读 · 2 评论 -
Scrapy框架下载器和随机请求头
下载器中间键可以为我们设置多个代理ip与请求头,达到反反爬虫的目的下面是scrapy为我们创建好的中间件的类Process_request(self,request,spider)参数request:发送请求的request对象spider:发送请求的spider对象此方法若返回None,Scrapy将继续处理此Request,直到 其他下载器中间件被调用此方法若返回Response对象:不再返回下载器,直接返回给引擎返回Request对象:使用现在返回的Request.原创 2021-03-31 15:28:11 · 237 阅读 · 1 评论 -
利用Scrapy框架爬取汽车之家图片(详细)
爬取结果爬取步骤创建爬虫文件进入cmd命令模式下,进入想要存取爬虫代码的文件,我这里是进入e盘下的E:\pystudy\scraping文件夹内C:\Users\wei>E:E:\>cd E:\pystudy\scrapingE:\pystudy\scraping>scrapy startproject Bmw5New Scrapy project 'Bmw5', using template directory 'f:\anaconda3\lib\si原创 2021-03-29 18:53:37 · 1605 阅读 · 1 评论 -
scrapy模拟豆瓣登录
看的课程是21天搞定分布式爬虫,应该是几年前的了,课程当时还是验证码,现在登录和之前都不一样了现在需要你拖动滑块完成拼图之前的页面现在验证码都变成拼图了学学原理吧首先创建scrapy项目首先进入到你想把这个项目存放的目录。然后使用以下命令创建:scrapy startproject [项目名称]使用命令创建一个爬虫cd 项目名称scrapy gensipder douban "douban.com"创建完成后目录如下:创建一个start方便我们在pycha.原创 2021-03-29 16:34:24 · 598 阅读 · 0 评论 -
用selenium爬取拉勾网职位信息及常见问题处理
源代码import refrom lxml import etreefrom time import sleepfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECimport csvfrom selenium.web原创 2021-03-17 10:27:24 · 1851 阅读 · 2 评论 -
高级爬虫: 使用 Selenium 浏览器
安装Selenium和chromedriver:因为 Selenium 需要操控你的浏览器, 所以安装起来比传统的 Python 模块要多几步. 先在 terminal 或者 cmd 用 pip 安装 selenium.# python 2+pip install selenium# python 3+pip3 install selenium要操控浏览器, 你就要有浏览器的 driver. Selenium 针对几个主流的浏览器都有 driver.针对 Linux 和 MacO..原创 2021-03-09 15:12:04 · 752 阅读 · 2 评论 -
爬虫实战之多线程下载表情包
一般下载import requestsfrom lxml import etreeimport osimport refrom urllib.request import urlretrieveheaders = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36', .原创 2021-03-06 16:16:37 · 197 阅读 · 0 评论 -
python多线程学习
Python3 线程中常用的两个模块为:_thread(已经废弃) threading(推荐使用)线程模块Python3 通过两个标准库 _thread 和 threading 提供对线程的支持。_thread 提供了低级别的、原始的线程以及一个简单的锁,它相比于 threading 模块的功能还是比较有限的。threading 模块除了包含 _thread 模块中的所有方法外,还提供的其他方法:threading.currentThread(): 返回当前的线程变...原创 2021-03-06 12:33:48 · 161 阅读 · 0 评论 -
MongoDB的安装及配置服务及使用
安装配置https://blog.youkuaiyun.com/heshushun/article/details/777767061.先在安装目录data文件下创建一个新文件夹log(用来存放日志文件)2.在Mongodb安装路径下新建配置文件mongo.config在配置文件中添加dbpath=D:\software\MongoDB\data\dblogpath=D:\software\MongoDB\data\log\mongo.loglogpath是日志的路径。dhpath是mon原创 2021-03-05 18:34:02 · 1466 阅读 · 0 评论 -
爬虫之数据存储(json,csv,mysql)等
JSON支持数据格式:对象(字典)。使用花括号。 数组(列表)。使用方括号。 整形、浮点型、布尔类型还有null类型。 字符串类型(字符串必须要用双引号,不能用单引号)。多个数据之间使用逗号分开。注意:json本质上就是一个字符串。字典和列表转JSON:import jsonbooks = [ { 'title': '钢铁是怎样练成的', 'price': 9.8 }, { 'title': '红楼梦',原创 2021-03-05 16:45:32 · 492 阅读 · 0 评论 -
利用Python爬取糗事百科段子信息
有个博客很详细https://blog.youkuaiyun.com/weixin_42488570/article/details/80794087要求:用户ID,用户等级,用户性别,发表段子文字信息,好笑数量和评论数量,如下图所示:用户IDuser = re.findall('<h2.*?>(.*?)</h2>', text, flags=re.DOTALL)文字text = re.findall('<div class="content">.*?..原创 2021-03-05 14:39:54 · 258 阅读 · 1 评论 -
爬虫实战之爬取古诗文网站 (详细)
爬取古诗文网站重点是练习正则表达式的使用链接变化url_base = 'https://www.gushiwen.cn/default_{}.aspx'for i in range(1, 2): print('正在爬取第{}页:'.format(i)) url = url_base.format(i)要求1爬取李白的诗前几页2爬取推荐页面前几页换个链接均可以实现古诗题目titles = re.findall(r'<b>(.*?)&.原创 2021-03-04 20:17:00 · 7457 阅读 · 3 评论 -
正则表达式补充篇
1.re.match和re.searchmatch()和search()的区别:match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找匹配 match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none 验证手机号码:手机号码的规则是以1开头,第二位可以是34587,后面那9位就可以随意了。示例代码如下: text = "18570631587" ret = re.match('.原创 2021-03-04 17:05:16 · 306 阅读 · 2 评论 -
正则表达式
正则表达式这一篇就够了,记录学习方便回来查找文章来源https://mofanpy.com/tutorials/python-basic/basic/regular-expression/https://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html正则式表达,使用特殊的 pattern 来灵活匹配需要找的文字.如果需要找到潜在的多个可能性文字, 我们可以使用[]将可能的字符囊括进来. 比如[ab]就说明我想要找的字符可以...原创 2021-02-02 17:35:04 · 182 阅读 · 2 评论 -
爬虫中国天气网数据并可视化
中国天气网爬虫数据可视化 爬虫功能 网页分析 以华北地区为例分析网页源代码 1.以谷歌浏览器为例分析 2. 提取特征标签 3.分析源代码 利用requests库获取目标网页源代码 利用BeautifulSoup库提取天气信息 港澳台地区代码分析 分析数据 数据可视化 结果展示 全部代码 分析部分见https://blog.youkuaiyun.com/weixin_44586452/article/details/11375原创 2021-02-18 22:40:31 · 3793 阅读 · 2 评论 -
爬虫之BeautifulSoup4库详解
BeautifulSoup4库和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据。lxml 只会局部遍历,而Beautiful Soup 是基于HTML DOM(Document Object Model)的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多,所以性能要低于lxml。BeautifulSoup 用来解析 HTML 比较简单,API非常人性化,支持CSS选择器、Python标准库中的HT原创 2021-02-18 20:28:43 · 351 阅读 · 0 评论 -
使用requests和xpath爬取电影天堂
import requestsfrom lxml import etreefrom openpyxl import Workbook# URL = 'https://dytt8.net/html/gndy/dyzz/list_23_1.html'headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0....原创 2021-02-16 13:37:09 · 979 阅读 · 0 评论 -
爬虫之数据的提取 使用XPath 及lxml 初学者必备
一、XPATH是什么?干什么用的?xpath(XML Path Language)是一门在XML和HTML文档中查找信息的语言,可用来在XML和HTML文档中对元素和属性进行遍历,用来确定XML文档中某部分位置的语言。目前浏览器都有对应的xpath扩展程序Chrome插件XPath Helper。 Firefox插件Try XPath。安装插件chrome浏览器的扩展程序下载需要翻墙,因此我寻找了另外一个安装方法,如下具体见https://www.cnblogs.com/ubuntu1.原创 2021-02-14 13:32:25 · 895 阅读 · 1 评论 -
python爬虫之request库
发送get请求1.最简单的发送get请求就是通过requests.get来调用:response = requests.get("URL")import requestsresponse=requests.get("http://www.baidu.com/")#查看响应内容 response.text返回的是Unicode格式的数据#print(response.text)#查看响应内容,response.content返阿的字节滤数据print(response.content)原创 2021-02-14 09:02:02 · 824 阅读 · 2 评论 -
python爬虫之cookie
python爬虫之cookie什么是cookie:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie 数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了。cookie存储的数据量有限,不同的浏览器有不同的存储大小原创 2021-02-13 19:34:29 · 1092 阅读 · 1 评论 -
爬虫练习之了解反爬虫机制
没学习之前我理解字面意思就是你爬虫网站,然后该网站顺着你的ip等会对你的网络电脑等造成损失爬虫—— 使用任何技术手段批量获取网站信息的一种方式,关键在批量。 反爬虫—— 使用任何技术手段,阻止别人批量获取自己网站信息的一种方式。关键也在于批量最简单的是你爬网站获取不到正确的信息案例 爬取拉勾网python职位的薪资等我们可以看到一般代码并不能获取到需要的信息请求头验证。浏览器访问网站的时候除了会发送url,参数等内容外,还会给服务器端传递一些额外的请求头(request ..原创 2021-02-13 17:15:23 · 347 阅读 · 0 评论 -
python爬虫之urllib库学习
urllib库urllib库是Python中一个最基本的网络请求库。可以模拟浏览器的行为,向指定的服务器发送一个请求,并可以保存服务器返回的数据。urllib库是python内置的一个http请求库,不需要额外的安装。只需要关注请求的链接,参数,提供了强大的解析。urllib库提供了如下功能:网页请求 响应获取 代理和cookie设置 异常处理 URL解析爬虫所需要的功能,基本上在urllib中都能找到,学习这个标准库,可以更加深入的理解后面更加便利的requests库。url原创 2021-02-13 13:54:32 · 421 阅读 · 1 评论 -
python爬虫入门之http协议和 Chrome 浏览器抓包工具
在浏览器中发送一个http请求的过程:1.当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为“Get"和“Post"两种方法。⒉当我们在浏览器输入URLhttps://www.baidu.com/的时候,浏览器发送一个Request请求去获取https://www.baidu.com/的html文件,服务器把Response文件对象发送回给浏览器。3.浏览器分析Response中的HTML,发现其中引用了很多其他文件,比如加mage原创 2021-02-13 10:31:14 · 1105 阅读 · 0 评论 -
爬虫学习之下载图片
首先找到网页的图片地址如网址为:https://i0.hdslb.com/bfs/face/03525d094e0e2a142d08181532d729615c18ec92.jpg找到了这个网址, 我们就能开始下载了. 为了下载到一个特定的文件夹, 我们先建立一个文件夹吧. 并且规定这个图片下载地址.import osos.makedirs('./img/', exist_ok=True)IMAGE_URL = "https://i0.hdslb.com/bfs/face/03525原创 2021-02-07 11:22:32 · 1546 阅读 · 0 评论 -
简单爬虫入门
来源莫烦爬虫https://mofanpy.com/tutorials/data-manipulation/scraping/understand-website/爬网页流程选着要爬的网址 (url) 使用 python 登录上这个网址 (urlopen等) 读取网页信息 (read() 出来) 将读取的信息放入 BeautifulSoup 使用 BeautifulSoup 选取 tag 信息等 (代替正则表达式)1.使用 Python 来登录这个网页, 并打印出这个网页 HTML 的原创 2021-02-07 10:46:29 · 261 阅读 · 0 评论