ParseHTML

Python爬取网页信息

筅森魡賤 提交于 2021-01-23 05:26:02
Python爬取网页信息的步骤 以爬取英文名字网站(https://nameberry.com/)中每个名字的评论内容,包括英文名,用户名,评论的时间和评论的内容为例。 1、确认网址 在浏览器中输入初始网址,逐层查找链接,直到找到需要获取的内容。 在打开的界面中,点击鼠标右键,在弹出的对话框中,选择“检查”,则在界面会显示该网页的源代码,在具体内容处点击查找,可以定位到需要查找的内容的源码。 注意:代码显示的方式与浏览器有关,有些浏览器不支持显示源代码功能(360浏览器,谷歌浏览器,火狐浏览器等是支持显示源代码功能) 步骤图: 1)首页,获取A~Z的页面链接 2)名字链接页,获取每个字母中的名字链接(存在翻页情况) 3)名字内容页,获取每个名字的评论信息 2、编写测试代码 1)获取A~Z链接,在爬取网页信息时,为了减少网页的响应时间,可以根据已知的信息,自动生成对应的链接,这里采取自动生成A~Z之间的连接,以pandas的二维数组形式存储 1 def get_url1(): 2 urls= [] 3 # A,'B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z' 4 a=[ ' A ' , ' B ' , ' C ' , ' D ' , '

Python下载网络图片方法汇总与实现

懵懂的女人 提交于 2021-01-06 15:31:03
> 本文介绍下载python下载网络图片的方法,包括通过图片url直接下载、通过re/beautifulSoup解析html下载以及对动态网页的处理等。 >​本期小编推送2021初学者一定会用到的Python资料,含有小编自己呕心沥血整理的免费书籍/视频/在线文档和编辑器/源代码,关于`Python`的安装qun:850973621 ### 通过pic_url单个/批量下载 已知图片url,例如http://xyz.com/series-*(1,2..N).jpg,共N张图片,其链接形式较为固定,这样经简单循环,直接通过`f.write(requests.get(url).content)'即可以二进制形式将图片写入。 ``` import os import requests def download(file_path, picture_url): headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE", } r = requests.get(picture_url, headers=headers) with open(file_path

抓取猫眼部分信息

陌路散爱 提交于 2020-11-22 06:31:28
import requests import re import json from multiprocessing import Pool def get_one_page(url): header = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36', } res = requests.get(url,headers=header) if res.status_code == 200: return res.text else: return None def parse_html(html): html.replace('\n','') pattern = ('<i class="board-index.*?">(. ?)</i>. ?<img data-src="(. ?)". ?</a>. ?<a href. ?>(. ?)</a>. ?<p class="star"(. ?)</p>. ?releasetime">(. ?)</p>. ?integer">(. ?)</i>. ?fraction">(.*?)</i>') items = re.findall

一篇文章教会你利用Python网络爬虫获取分类图片

北慕城南 提交于 2020-11-01 19:00:25
【一、项目背景】 博海拾贝是一支互联网从业者在线教育的团队,扎根于中国教育行业以及互联网行业的创新和眼球中,打造专业体系化的互联网人在线教育平台。精心创作许多精彩的文章,提供了很多有趣的图片。 今天来教大家如何使用Python来爬取博海拾贝的图片,分类保存,写入文档。 【二、项目目标】 创建一个文件夹, 分类保存所有文章图片。下载成功,结果显示控制台。 【三、项目分析】 1、如何找到真正访问的地址,多网页请求? 滑动鼠标,观察网站,右键F12 。鼠标滚轮滑动加载新内容。如图: 点开随机网页 , 点开Request URL ,观察网址的规律。 https://bh.sb/page/1/ https://bh.sb/page/2/ https://bh.sb/page/3/ https://bh.sb/page/4/ 观察到,每增加一页page/{}/自增加1,用{}代替变换的变量,再用for循环遍历这网址,实现多个网址请求。 2. 反爬处理 1)获取正常的 http请求头,并在requests请求时,设置这些常规的http请求头。 2)使用 fake_useragent ,产生随机的UserAgent进行访问。 【四、涉及的库和网站】 1、网址如下: https://www.doutula.com/photo/list/?page={} 2、涉及的库: requests 、 lxml

Fiddler 手机爬虫

╄→гoц情女王★ 提交于 2020-10-28 05:55:39
Fiddler抓包工具 配置Fiddler 添加证书信任,Tools - Options - HTTPS,勾选 Decrypt Https Traffic 后弹出窗口,一路确认 ...from browsers only 设置只抓取浏览器的数据包 Tools - Options - Connections,设置监听端口(默认为8888) 关闭Fiddler,再打开Fiddler,配置完成后重启Fiddler(重要) 配置浏览器代理 1、安装Proxy SwitchyOmega插件 2、浏览器右上角:SwitchyOmega->选项->新建情景模式->AID1901(名字)->创建 输入 :HTTP:// 127.0.0.1 8888 点击 :应用选项 3、点击右上角SwitchyOmega可切换代理 Fiddler常用菜单 1、Inspector :查看数据包详细内容   整体分为请求和响应两部分 2、常用菜单   Headers :请求头信息   WebForms: POST请求Form表单数据 :<body>   GET请求查询参数: <QueryString>   Raw 将整个请求显示为纯文本 手机设置 正常版 1、设置手机 2、设置Fiddler 最后重启Fiddler。 如果遇到问题 在计算机中win+R,输入regedit打开注册表,找到fiddler

一篇文章教会你利用Python网络爬虫抓取王者荣耀图片

北战南征 提交于 2020-10-07 05:29:50
【一、项目背景】 王者荣耀作为当下最火的游戏之一,里面的人物信息更是惟妙惟肖,但受到官网的限制,想下载一张高清的图片很难。(图片有版权)。 以彼岸桌面这个网站为例,爬取王者荣耀图片的信息。 【二、项目目标】 实现将获取到的图片批量下载。 【三、涉及的库和网站】 1、网址如下: http://www.netbian.com/s/wangzherongyao/index.htm/ 2、涉及的库: requests 、 lxml 【四、项目分析】 首先需要解决如何对下一页的网址进行请求的问题。可以点击下一页的按钮,观察到网站的变化分别如下所示: http://www.netbian.com/s/wangzherongyao/index_2.htm http://www.netbian.com/s/wangzherongyao/index_3.htm http://www.netbian.com/s/wangzherongyao/index_4.htm 观察到只有index_()变化,变化的部分用{}代替,再用for循环遍历这网址,实现多个网址请求。 http://www.netbian.com/s/wangzherongyao/index_{}.htm 【五、项目实施】 1、我们定义一个class类继承object,然后定义init方法继承self,再定义一个主函数main继承self

一篇文章教会你利用Python网络爬虫获取分类图片

百般思念 提交于 2020-09-30 11:54:01
【一、项目背景】 博海拾贝是一支互联网从业者在线教育的团队,扎根于中国教育行业以及互联网行业的创新和眼球中,打造专业体系化的互联网人在线教育平台。精心创作许多精彩的文章,提供了很多有趣的图片。 今天来教大家如何使用Python来爬取博海拾贝的图片,分类保存,写入文档。 【二、项目目标】 创建一个文件夹, 分类保存所有文章图片。下载成功,结果显示控制台。 【三、项目分析】 1、如何找到真正访问的地址,多网页请求? 滑动鼠标,观察网站,右键F12 。鼠标滚轮滑动加载新内容。如图: 点开随机网页 , 点开Request URL ,观察网址的规律。 https://bh.sb/page/1/ https://bh.sb/page/2/ https://bh.sb/page/3/ https://bh.sb/page/4/ 观察到,每增加一页page/{}/自增加1,用{}代替变换的变量,再用for循环遍历这网址,实现多个网址请求。 2. 反爬处理 1)获取正常的 http请求头,并在requests请求时,设置这些常规的http请求头。 2)使用 fake_useragent ,产生随机的UserAgent进行访问。 【四、涉及的库和网站】 1、网址如下: https://www.doutula.com/photo/list/?page={} 2、涉及的库: requests 、 lxml

python爬虫代码优化:使用生成器重构提取数据方法

巧了我就是萌 提交于 2020-08-18 21:28:48
前言 在刚开始学习python的时候,有看到过 迭代器 和 生成器 的相关内容,不过当时并未深入了解,更谈不上使用了 前两天在网上冲浪时,又看到了几篇关于生成器的文章,想到之前写的爬虫代码,其实是可以用 生成器 来改造一下的,所以本次就使用生成器来优化一下爬虫代码 关于python迭代器、生成器的知识,推荐几篇文章: 看完这篇,你就知道Python生成器是什么 Python关键字yield的解释 yield全面总结 Python yield from 用法详解 看完上述文章后,我们可以了解到: 生成器函数与普通函数的区别是,生成器用关键字 yield 来返回值,而普通函数用 return 一次性返回值; 当你调用生成器函数的时候,函数内部的代码并不立马执行 ,这个函数只是返回一个 生成器对象 ; 一般使用for循环迭代生成器对象来获取具体的返回值 什么时候可以使用生成器呢? 一般爬虫经常会通过for循环来迭代处理数据,例如我之前爬取20页数据时,会先把获得的数据存储到一个列表或字典中,然后再把整个列表或字典 return 出去,然后保存数据至本地又会再调用这个列表获取数据(其实做了2步:先把页面的数据提取出来存到列表,后面用的时候再迭代列表); 类似这种直接使用列表或字典来存储数据,其实是先存储到了内存中,如果数据量过大的话,则会占用大量内存,这样显然是不合适的;

爬虫总结

巧了我就是萌 提交于 2020-08-17 23:46:07
爬取网站的思路 先确定是否为动态加载网站 找URL规律 正则表达式或xpath 定义程序框架,补全并测试代码 多级页面数据抓取 1、爬取一级页面,提取所需数据+链接,继续跟进 2、爬取二级页面,提取所需数据+链接,继续跟进 3、... 爬虫代码规范书写: # 程序结构 class xxxSpider(object): def __init__ (self): # 定义常用变量,url,headers及计数等 def get_html(self): # 获取响应内容函数,使用随机User-Agent def parse_html(self): # 使用正则表达式来解析页面,提取数据 def write_html(self): # 将提取的数据按要求保存,csv、MySQL数据库等 def main(self): # 主函数,用来控制整体逻辑 if __name__ == ' __main__ ' : # 程序开始运行时间戳 start = time.time() spider = xxxSpider() spider.main() # 程序运行结束时间戳 end = time.time() print ( ' 执行时间:%.2f ' % (end-start)) 常见的反爬总结 基于User-Agent反爬 一般被关注的变量是userAgent和Referer和Cookie

网上那么多的穷游攻略该看那个?当然是全都要了,Python帮你爬取

巧了我就是萌 提交于 2020-08-09 02:53:58
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者:IT共享者 喜欢的朋友欢迎关注小编,除了分享技术文章之外还有很多福利 加企鹅群695185429即可免费获取,资料全在群文件里。资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等 项目背景 穷游网提供原创实用的出境游旅行指南、攻略,旅行社区和问答交流平台,以及智能的旅行规划解决方案,同时提供签证、保险、机票、酒店预订、租车等在线增值服务。穷游“鼓励和帮助中国旅行者以自己的视角和方式体验世界”。 今天教大家获取穷游网的城市信息,使用Python将数据写入csv文档。 项目目标 实现将获取对应的城市、图片链接、热点、批量下载 保存csv文档。 涉及的库和网站 1、网址如下: https://place.qyer.com/south-korea/citylist-0-0-{} 2、涉及的库:requests、lxml、fake_useragent、time、csv 项目分析 首先需要解决如何对下一页的网址进行请求的问题。可以点击下一页的按钮,观察到网站的变化分别如下所示: - https://place.qyer.com/south-korea/citylist-0-0-1 - https://place.qyer.com