易采客精准采集官网|邀请码代理|会员服务|软件教程|升级更新

易采客寻找客户,精准爆粉行业人脉,精准客源采集软件先行者

当前位置: 主页 > 软件资讯 > 软件资讯

电话号码采集怎么采集动态页面?

fatureseo.com 2021-04-16 软件资讯 200 ℃

收集大师的联系电话采集软件,许多网址一般 会采用Ajax和动态性HTML技术性,因此仅仅应用根据静态页面爬取的方式是行不通的。针对动态网站信息的爬取必须应用此外的一些方式。

 

  先看一下怎样辨别网址时静态数据的或是动态性的,一切正常来讲带有“点击查看”字眼或是打开网页当下拉才会载入內容出去的进本全是动态性的,简单的方式便是在电脑浏览器中查询网页页面相对应的內容、当在查询网页页面源码时找不着该內容时就可以明确该网页页面应用了动态性技术性。

 

  针对动态性网页页面信息的爬取,一般分成二种方式,一种是立即从JavaScript中收集载入的数据信息、必须自身去手动式剖析Ajax要求来开展信息的收集,另一种是立即从电脑浏览器中收集早已载入好的数据信息、即能够应用无页面的电脑浏览器如PhantomJS来分析JavaScript。

 

  随意开启一个电影的URL:一开始发生转圈圈的载入,就可以分辨是动态性载入的。

 

  关心到“电影票房”这儿:查看源代码并找不着电影票房的字眼:因而可判断该內容是应用Ajax多线程载入转化成的。

 

  开启FireBug,在“互联网”>“JavaScript”中查询带有比较敏感标识符的插口连接,由于是和影片有关的,就先查询带有“Movie.api?Ajax_Callback=......”字眼的连接,能够查询到在其中一个带有电影影评和电影票房等信息:

 

  为了更好地开展确定什么主要参数是会转变 的,再开启一个新的电影的URL并开展同样的实际操作开展查询:为了更好地便捷,立即上BurpSuite的Compare控制模块开展较为:能够立即见到,仅有之上三个主要参数的值是不一样的,其他的全是同样的。在其中Ajax_RequestUrl变量值为当今movie的URL,t的数值当前时间,Ajax_CallBackArgument0的数值当今影片的编号、即其URL中后边的数据。

 

  因而就可以结构Ajax要求的URL来爬取数据信息,返回top 100的首页,剖析在其中的标识等随后撰写编码遍历top 100全部的影片有关电影票房和电影影评信息,留意的是并非是全部的影片都是有电影票房信息,这儿必须分辨就可以。

 

  发觉在“当今大城市”以后仅有“上海市”的字眼而沒有广州市,并且大城市是根据JS载入进去的,即该网页页面应用了动态性载入技术性。到FireBug中查询JS相对应的要求內容:能够见到在其中一个JS要求是用以获得大城市详细地址的,将该URL记录下来用以后边的详细地址的全自动获得随后再分析Json文件格式的数据信息就可以。先去免费下载,本人免费下载的是win64版的:

 

  然后缓解压力,将geckodriver.exe放到一个早已设定了环境变量的文件目录或是立即再设定新的环境变量的文件目录都能够,这儿是立即放到Python文件目录中的Scripts文件目录中。

 

  然后运作就没有问题了:

 

  这儿或是应用肯德基门店的事例,立即启用webdriver的find_element_by_xpath()方式,针对餐厅名称以及详细地址的xpath的获得,能够立即应用FireBug中的FirePath来获得:

 

  这儿或是要留意,立即在cmd輸出結果才会详细,不必立即在Sublime中輸出不然結果会发生跳开的:-)网页页面为:

 

  查看源代码中表格一部分內容:能够依据图上框出的特性来开展原素的获取,随后根据webdriver开展相对应的实际操作。然后对酒店餐厅信息的标识开展特征提取,这儿大城市选的是深圳市:依据框中的特点应用BeautifulSoup来开展获取就可以。

 

  酒店餐厅名所属标识:

  酒店地址所属标识:

  酒店餐厅得分所属标识:

  酒店价格所属标识:

  然后开展自动点击下一页实际操作,查看源代码:

 

  能够见到li标签的class数值“item next ”,即正中间有空格符隔着,也就是其class值有好几个而不是一个的含意,那样就不可以应用find_element_by_class_name()只是应用find_element_by_css_selector()来获得原素,自然还可以应用find_element_by_xpath()和FirePath融合应用、可是xpath分析出去的主要参数会伴随着网页页面而更改,为了更好地便捷就立即应用find_element_by_css_selector(),如上述所说情况,好几个class值的书写为find_element_by_css_selector(".item.next")

Copyright © 2019-2020 易采客科技 版权所有 Power by www.fatureseo.com

网站地图