xpath

使用 scrapy 爬取 微博热搜

╄→尐↘猪︶ㄣ 提交于 2020-03-03 17:16:32
安装 pip install Scrapy 创建项目 scrapy startproject weiboHotSearch 创建爬虫 cd weiboHotSearch scrapy genspider weibo s.weibo.com 编写Item 修改weiboHotSearch中的items.py,添加item import scrapy class WeibohotsearchItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() pass keyword = scrapy.Field() url = scrapy.Field() count = scrapy.Field() 编写爬虫 修改 start_urls ,注意为list格式 使用 xpath 解析数据 xpath语法可参考 https://www.w3school.com.cn/xpath/xpath_syntax.asp 解析数据时,可运行 scrapy shell "https://s.weibo.com/top/summary" 调试xpath 引入 Item ,将数据以 Itme 对象返回 执行 scrapy crawl weibo 运行爬虫 运行结果如下: weibo.py

Yahoo sign in with Selenium, missing click

限于喜欢 提交于 2020-03-03 06:24:12
问题 I am trying to write a login function. When I try to login into my yahoo account, I send the correct keys for my email address, which works, but then when I click "next" it 'misses' the click and instead clicks the banner which opens up some sort of advertisement be it travel related or Norton anti-security, or something. I've been working on this issue intermittently throughout the past week surfing and digging through forums before finally making my first post. I am aware of the different

day99 爬虫 scrapy介绍 结构介绍

拥有回忆 提交于 2020-03-01 22:07:07
scrapy介绍,架构介绍(框架)ghref scrapy就是爬虫界的django 爬虫框架,别人写好的代码,以后只需要在指定位置写指定代码即可 基于twisted:性能很高 五大组件 引擎:大总管,总的控制数据流动 调度器:去重,加入队列 下载器 :负责下载,加载数据 爬虫:主要写这,解析response和重新发起请求 项目管道:持久化相关 两大中间件 爬虫中间件:爬虫和引擎之间(用的少) 下载中间件:引擎和下载器之间(加代理,加cookie,修改user-agent,继承selenium) scrapy安装(windows) mac/linux:pip3 install scrapy windows: pip3 install scrapy(大部分都可以) -如果上面不行 -pip3 install wheel (xxx.whl文件安装模块) -下载pywin32:两种方式:1 pip3 install pywin32 2 下一个exe安装https://sourceforge.net/projects/pywin32/files/pywin32/ -下载twisted的wheel文件:http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 下载完是一个xxx.whl文件 -执行pip3 install 下载目录\Twisted

Python爬取新浪足球数据(以中超为例)

拟墨画扇 提交于 2020-03-01 03:28:57
最近在整理上学期学位课中用到的一些知识点,其中看到了一个很省代码量的操作,记录一下。上学期多元统计,留了一个课程论文是用相关统计方法来分析数据,像我这种叫天天不应叫地地不灵要啥啥没有“三无蓝孩“,硬着头皮学了爬虫,后来,就有了今天的故事。 入坑一时爽,一直入坑一直爽啊 当然,说是要结合自己的专业,我,一个学GIS的,有些数据怕是要保密的,而且公开我也不会用啊 但是我爱看球啊,从中超英超德甲西甲,平时闲着没事也爱看看数据啥的,哪个球员又牛逼了,哪个队进欧冠了啥的,然后我就用这些数据做了个聚类(怕是多元统计里最简单的一个了,也感谢老师的浓浓师生情,让我复习了一天的多元统计过了) 回到正题,其实获取数据是主要的工作量,不想让中间商赚差价就只能自己动手丰衣足食了。 首先,打开网址,http://match.sports.sina.com.cn/football/csl/opta_rank.php?item=order&year=2019&lid=8&type=2&dpc=1 我起初的思路很钢铁直,就是用XPath获取,结合源码写了如下获取方式 def parse_page ( text ) : tree = etree . HTML ( text ) # print(tree) ranking = [ ] club_name = [ ] try_goal = [ ] for i in

Python爬虫进阶 | 某音字体反爬分析

痴心易碎 提交于 2020-02-29 16:55:28
字体反爬案例 爬取一些网站的信息时,偶尔会碰到这样一种情况:网页浏览显示是正常的,用 python 爬取下来是乱码,F12用开发者模式查看网页源代码也是乱码。这种一般是网站设置了字体反爬。 1. 准备url 网址: https://www.iesdouyin.com/share/user/88445518961 2. 获取数据 分析字体加密方式 任务:爬取个人信息展示页中的关注、粉丝人数和点赞数据,页面内容如图 下 所示。 在编写代码之前,我们需要确定目标数据的元素定位。定位时,我们在 HTML 中发现了一些奇怪的符号,HTML 代码如下: 页面中重要的数据都是一些奇怪的字符,本应该显示数字的地方在 HTML 中显示的是""。 要注意的是,Chrome 开发者工具的元素面板中显示的内容不一定是相应正文的原文,要想知道 "" 符号是什么,还需要到网页源代码中确认。对应的网页源代码如下: </span><span class="follower block"> <span class="num"> <i class="icon iconfont follow-num">  </i> <i class="icon iconfont follow-num">  </i> <i class="icon iconfont follow-num">  </i> <i class=

使用HtmlAgilityPack开发爬虫筛选HTML时,关于xpath的坑

混江龙づ霸主 提交于 2020-02-29 13:41:54
其实这个坑呢,说实话是非常的有意思,因为当时这个坑弄得我甚至是以为编译器坏了。 昨天我在写关于豆瓣的爬虫的时候,有这样一个需求: 我想抓这个a标签,拿他的链接地址。这个时候在浏览器里右键该标签,复制其xpath结果如下: //*[@id="content"]/div/div[1]/div[2]/table/tbody/tr[2]/td[1]/a 然后在代码中,则按照这个xpath路径去找,发现根本就没用,什么都找不到。 然后后面在调试的时候,我故意在即时窗口里,这样子去试验这条xpath路径: 我先检测 //*[@id="content"] 这样能不能找到内容,然后发现可以; 然后检测 //*[@id="content"]/div 发现也可以; 一直到 //*[@id="content"]/div/div[1]/div[2]/table/tbody 这个的时候,发现返回 null ,找不到? 最后我尝试把 tbody 去掉,直接用 //*[@id="content"]/div/div[1]/div[2]/table/tr[2]/td[1]/a ( 把tbody删了 ) 发现终于得到了我想要的那个标签节点。 总结 其实这个坑就是说,xpath里面不能带 tbody ,碰到这个节点,直接跳过,进行到下一节点去 来源: https://www.cnblogs.com/shapman

How to use tumbling window to group XML elements by content?

梦想与她 提交于 2020-02-29 06:54:39
问题 How do I group based on whether there's a match to [0-9] for digits with a tumbling window ? desired output: ... <record> <name>joe</name> <data>phone1</data> <data>phone2</data> </record> ... current output, not grouped: <xml> <record> <person key="$s" data="name">phone1</person> </record> <record> <person key="$s" data="name">phone2</person> </record> <record> <person key="$s" data="name">phone3sue</person> </record> <record> <person key="$s" data="name">cell4</person> </record> <record>

Jmeter关联

天大地大妈咪最大 提交于 2020-02-29 05:45:50
Jmeter关联 所谓 关联 ,从业务角度讲,即:某些操作步骤与其相邻步骤存在一定的依赖关系,导致某个步骤的输入数据来源于上一步的返回数据,这时就需要“关联”来建立步骤之间的联系。 简单来说,就是:将上一个请求的响应结果作为下一个请求的参数。。。 这里的提取器,都可以作为jmeter中关联的使用。 一、边界提取器 参数:前三个就不做介绍了; (4)匹配数字:-1表示全部,0随机,1第一个,2第二个 (5)缺省值:这个如果没有匹配到,给它定义的一个默认值 这里和lr里的关联函数是差不多的,比如这里要提取hao123, 提取器填写如下: 在请求2里引用:引用使用${变量名},这里为${id},如下图,就已经取到值了。 二、正则表达式提取器 参数: (1)就是变量名。 (2)正则表达式:   ():括起来的部分就是要提取的。    .:匹配任何字符串。   +:一次或多次。   ?:不要太贪婪,在找到第一个匹配项后停止。 (3)模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值 (4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0 (5)缺省值:如果参数没有取得到值,那默认给一个值让它取。 在请求2里引用:引用使用${变量名},这里为${id},如下图,就已经取到值了。 三

python--爬虫(XPath与BeautifulSoup4)

こ雲淡風輕ζ 提交于 2020-02-28 11:49:25
获取页面内容除使用正则意外,还可以使用XPath,其原理是将html代码转换为xml格式,然后使用XPath查找html节点或元素。 选取节点 XPath使用路径表达式来选取XML文档中的节点或节点集。 常用的路径表达式见下表: 表达式 描述 nodename 选取此节点的所有子节点 / 从根节点选取 // 从匹配选择的当前节点选择文档中的节点,不考虑其是否为子级 . 选取当前节点 .. 选取当前节点的父节点 @ 选取属性 谓语 谓语用来查找某个特定的节点或者包含某个指定的值得节点,被嵌在方括号中。 路径表达式 释义 /one/two[1] 选取属于one子元素的第一个two元素 /one/two[last()] 选取属于one子元素的最后一个two元素 /one/two[last()-1] 选取属于one子元素的倒数第二个two元素 /one/two[position()<3] 选取最前面的两个属于one元素的子元素two元素 //one[@lang] 选取所有拥有名为lang的属性的one元素 //one[@lang='test'] 选取所有拥有值为test的lang属性的one元素 /one/two[position>10] 选取one元素的所有two元素,且其中position属性的值大于10 选取未知节点 通配符 描述 * 匹配如何元素节点 @* 匹配任何属性节点

【python爬虫】Xpath

感情迁移 提交于 2020-02-28 11:48:17
一、xml是什么   1、定义:可扩展标记性语言   2、特点:xml的是具有自描述结构的半结构化数据。   3、作用:xml主要设计宗旨是用来传输数据的。他还可以作为配置文件。 二、xml和html的区别   1、语法要求不同:xml的语法要求更严格。     (1)html不区分大小写的,xml区分。     (2)html有时可以省却尾标签。xml不能省略任何标签,严格按照嵌套首位结构。     (3)只有xml中有自闭标签(没有内容的标签,只有属性。)<a class='abc'/>     (4)在html中属性名可以不带属性值。xml必须带属性值。       (5)在xml中属性必须用引号括起来,html中可以不加引号。   2、作用不同     html主要设计用来显示数据以及更好的显示数据。     xml主要设计宗旨就是用传输数据   3、标记不同:xml没有固定标记,html的标记都是固定的,不能自定义。 三、xpath   1、什么是xpath?     xpath是一种筛选html或者xml页面元素的【语法】   2、xml和html的一些名词     元素、标签、属性、内容   3、xml的两种解析方法     dom和sax   4、xpath语法     (1)选取节点         nodename --- 选取此标签及其所有字标签。