爬虫
文章平均质量分 52
python爬虫
Banana忍冬
这个作者很懒,什么都没留下…
展开
-
【python】read_html()处理网页中的表格数据
read_html()从网页中识别<table>读取表格类数据。可识别对象包括有:网址、本地HTML文档、request模块得到的响应对象的文本。注意read_html()返回一个DataFrame类型的列表,每一项代表网页中的一个<table>,可用切片方式指定提取第几个表格。参数io参数match参数flavor参数header参数index_col参数encoding...原创 2021-07-20 20:18:10 · 1721 阅读 · 2 评论 -
【python】【爬虫】selenium模块使用cookie登录
在以前的文章中实现了向服务器发送POST请求模拟登录的操作【发送post请求】,但遇到验证码等情况时该方法就没用了。但我们可以使用当前登录账号的cookie信息,以实现下次访问该网站时自动登录。可以利用抓包或F12,在Network页面中找到当前登录的cookies信息,但这个方法获取的cookies值不一定可以直接使用。在这里学习中提供了两种自动获取cookies并使用cookies状态实现登录的方法。使用Session对象获取cookies使用request模块中的Session对象..原创 2021-07-19 16:33:55 · 4511 阅读 · 1 评论 -
【python】【爬虫】urllib爬虫练习爬取服务器图片
练习爬取京东服务器图片目标:收集京东的硬盘关键字中前10页的图片。仅搜索硬盘关键字,不添加其他关键词条如品牌、容量。URL分析:查找硬盘关键字下的前几页链接,分析URL规律。下图中标黄的部分为不同的部分。 keyword和wq字段都是输入的关键字 page字段代表显示的页数,S字段表示从第几个商品开始显示 观察URL发现page字段的步长为2,S字段除了第一页外步长均为60,但尝试了在page=1,S=61和120的情况下页面均跳转至第原创 2021-06-13 12:10:26 · 325 阅读 · 2 评论 -
【python】【爬虫】urllib爬虫使用代理服务器,解决IP限制问题
什么是代理服务器,为什么要用代理服务器是一个在用户和网页服务器中间的一个服务器。用户先借助代理服务器访问网页,网页得到的是代理服务器的IP,资源经过代理服务器返回到用户。若使用用户服务器通过爬虫访问网页服务器,容易因为同一个IP在短时间内多次访问某一网页服务器而被发现是爬虫而被禁止。使用代理服务器,解决IP限制的问题怎么做import urllib.requestdef use_proxy(): urllib.request.ProxyHandler({"http":"".原创 2021-06-12 22:42:00 · 1055 阅读 · 0 评论 -
【python】【爬虫】Scrapy Crawl自动爬虫【获取新浪新闻为例】
先获取初始网址,获取该网址中的所有链接,爬取所有链接原创 2021-06-19 11:40:09 · 2362 阅读 · 0 评论 -
【python】【爬虫】伪装浏览器,解决错误码403
存在问题有些网站服务器会屏蔽爬虫(如csdn),使用爬虫会返回错误码403解决方案添加报文头的User-Agent信息,把爬虫伪装成浏览器。怎么做在需要爬取的网页中F12打开控制台,在network页中打开任一项资源,在Header栏中的Request Headers中找到User-Agent。...原创 2021-06-12 13:11:30 · 1024 阅读 · 0 评论 -
【python】【爬虫】Scarpy爬虫的安装
本人的环境中有python3.5和anacoda,anacoda使用的是python3.8。最方便的安装方式是使用anacoda的conda命令【conda install scrapy】,Y之后等进度条就行。但此时只有python3.8的编译器中有scrpy及其支持文件twisted,在python3.5中还没有。偷懒的方式:在anacoda的安装目录中找到 Lib / site-packages 复制scrpy与twisted复制到python3.5安装目录的Lib中。这样python3.8和p原创 2021-06-16 21:52:38 · 163 阅读 · 0 评论 -
【python】【爬虫】Scrapy爬虫常用的全局指令和项目指令
全局指令(哪里都能用)fetch:爬取指定URL,显示爬取的过程。指定 --nolog 参数可以不显示爬取的过程runspider:不建立爬虫项目直接运行指定的Scrpy爬虫文件。要进入到该文件所在的目录shell:打开Scrapy交互终端,在不启动Scrapy的情况下调试startproject:在当前目录中,创建爬虫项目创建的结构如下:第一层:同名核心目录文件夹、项目配置文件scrapy.cfg第二次(核心目录):初始化init.py、目标(容器)item原创 2021-06-16 15:31:38 · 324 阅读 · 0 评论 -
【python】【爬虫】urllib爬虫练习爬取新闻
练习爬取新浪新闻网首页的新闻思路:访问新浪新闻首页,考虑是否需要伪装报头 利用正则匹配从数据筛选出所有新闻的网址 把得到的所有新闻下载到本地 考虑异常处理的问题import urllib.requestimport urllib.errorimport re# 访问新浪新闻,读取数据data1 = urllib.request.urlopen("http://news.sina.com.cn/").read()# 对数据进行编码为utf-8,忽略编码错误data2 = dat原创 2021-06-12 14:50:33 · 283 阅读 · 0 评论 -
【python】【爬虫】URLError与HTTPError
两个都是urllib.error模块下处理异常的类。HTTPError是URLError的子类,有异常状态码和异常原因。经过处理的URLError可以代替HTTPError。URLError不被触发的情况连不上服务器 或 没有网络 不存在该URL 触发了HTTPError处理的URLErrorimport urllib.requestimport urllib.error#异常处理的try-excepttry: urllib.erquest.urlopen("http:/原创 2021-06-12 08:01:54 · 249 阅读 · 0 评论 -
【python】【爬虫】For循环实现Scrapy自动爬虫
分析URL,使用原创 2021-06-22 22:33:01 · 1738 阅读 · 0 评论 -
【PYTHON】【爬虫】Fiddler抓包分析
使用Fiddler,其实是把Fiddler设置为代理服务器,则该浏览器获取的网络信息都要先经过Fiddler再呈现给用户。这里推荐使用firefox进行设置相对更简单,chrome需要搭配插件。设置Fiddler与firefox先在Tools / options / connections / copy Browser Proxy Configuration URL 复制Fiddler的代理服务器URL在Firefox中 设置 / 网络设置 / 配置访问互联网的代理服务器 / 自动代理配置的原创 2021-06-13 20:40:02 · 534 阅读 · 0 评论 -
【python】【爬虫】get()与urlopen()的不同
在看视频的教程中常用urllib.urlopen()访问网址,但在一些新的书中使用request.get()方法请求网址。这里在“urlopen与get的区别”的基础上进行总结。返回对象不同request.get()方法返回一个requests.models.Response对象;urllib.urlopen()方法返回一个http.client.HTTPResponse对象。HTTPResponse对象调用read()可访问内容也可接decode()进行指定字符集解码;Response..原创 2021-07-11 19:54:34 · 464 阅读 · 0 评论 -
【python】【爬虫】一个Scrapy爬虫(Scrapy爬虫编辑流程)
因为修改的文件较多,建议使用pycharm打开创建好的scrapy爬虫项目进行操作。全程用notepad和cmd也可以,就是打开麻烦。pycharm中左下角有teminal控制台可以输入Scrapy指令进行操作。使用Scrapy startproject创建一个Scrapy爬虫项目,使用genspider指令按照模板创建爬虫。步骤1.在Items.py中声明需要使用的容器声明容器content2.在setting.py中开放ITEM_PIPELINES(原来这个代码块是被注释的)原创 2021-06-16 23:10:33 · 241 阅读 · 0 评论 -
【python】【爬虫】BeautifulSoup模块快速介绍
用法和Xpath一样,都是基于标签搜索网页源码内容。仅输出格式和写法上的不同,实际效果和应用场景相差不大。实例化对象这里使用lxml解析器,把网页源码加载为beautifulsoup对象。可以用本地的html文件或爬取的网页源码传入实例化函数进行解析。from bs4 import BeautifulSoupimport urlliburl = 'http://www.baidu.com'data = urllib.request.urlpen(url).read().decode("u原创 2021-07-11 23:05:00 · 273 阅读 · 0 评论 -
【python】【爬虫】urllib爬虫模拟POST请求
有些网站的登录使用表单form向服务器提交POST请求的方式实现登录,但现在更常见的是把登录放在js文件中,需要抓包获取js文件进行分析。以下为简单的form表单实现登录,关注其中input的name属性对应的值。<body><form action="" method="post"> 姓名:<input name="name" type="text"/><br> 密码:<input name="pass" type="text"原创 2021-06-11 16:55:55 · 307 阅读 · 1 评论 -
【python】【爬虫】urllib爬虫模拟get请求
get请求的特点在url地址中,.com的后面有个?,?后的内容为get请求的字段。每组字段由 字段名=字段值组成,用&分开。百度搜索:.com/s + ?https://www.baidu.com/s?wd=%E6%B6%89%E5%8F%8A%E6%A8%A1%E5%BC%8F&rsv_spt=1&rsv_iqid=0x86425ec90005fd06&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-原创 2021-06-11 15:47:24 · 299 阅读 · 0 评论 -
【python】【爬虫】urllib库的request模块快速介绍
urlopen(url, timeout)最常用的函数,向指定的url地址发送请求,返回一个类文件对象。在python中可以像操作文件对象一样操作这个类文件对象。timeout用于指定超时时间,当向该地址发送请求超过timeout设定的时间时则视为超时失败,返回异常。import urllib.request#向百度主页发送请求#设置超过5秒未能访问则报错try: data = urllib.request.urlopen("www.baidu.com", timeout=5原创 2021-06-11 09:26:45 · 373 阅读 · 0 评论 -
【python】【爬虫】selenium模块快速介绍
Selenium模块虽然是一个web测试工具,但在爬虫中最有意思的功能就是可以模拟鼠标点击等操作。在前面的学习中,通过抓取button指向的地址模拟鼠标点击,但在selenium中直接模拟的即是点击的操作。目录调试基本网页操作通过属性定位标签对标签的后续操作模拟鼠标操作补充弹出的页面处理等待时间调试安装了selenium模块后,还要安装浏览器对应的驱动才可以使用selenium。chrome对应驱动为ChromeDriver,Firefox对应geckodrive原创 2021-07-13 10:38:28 · 242 阅读 · 0 评论