javascript – 如何使用不变的URL抓取多个页面 – Python 3
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何使用不变的URL抓取多个页面 – Python 3,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2456字,纯文字阅读大概需要4分钟。
内容图文
![javascript – 如何使用不变的URL抓取多个页面 – Python 3](/upload/InfoBanner/zyjiaocheng/782/50563c586f4d41efad2c8f79a2c6a883.jpg)
我最近联系了网页抓取并尝试网页抓取各种页面.现在,我正试图刮掉以下网站 – http://www.pizzahut.com.cn/StoreList
到目前为止,我已经使用硒来获取经度和纬度.但是,我的代码现在只提取第一页.我知道有一个动态网页抓取执行javascript并加载不同的页面,但很难找到一个正确的解决方案.我想知道是否有办法访问其他49页左右,因为当我点击下一页时,URL不会因为设置而改变,所以我不能每次都迭代一个不同的URL
以下是我的代码到目前为止:
import os
import requests
import csv
import sys
import time
from bs4 import BeautifulSoup
page = requests.get('http://www.pizzahut.com.cn/StoreList')
soup = BeautifulSoup(page.text, 'html.parser')
for row in soup.find_all('div',class_='re_RNew'):
name = row.find('p',class_='re_NameNew').string
info = row.find('input').get('value')
location = info.split('|')
location_data = location[0].split(',')
longitude = location_data[0]
latitude = location_data[1]
print(longitude, latitude)
非常感谢您的帮助.非常感激
解决方法:
获取数据的步骤:
在浏览器中打开开发人员工具(对于Google Chrome,它是Ctrl Shift I).现在,转到位于“网络”选项卡内的XHR选项卡.
完成后,单击下一页按钮.您将看到以下文件.
单击该文件.在General块中,您将看到我们需要的这两件事.
向下滚动,在“表单数据”选项卡中,您可以看到3个变量
在这里,您可以看到更改pageIndex的值将提供所需的所有页面.
现在,我们已经获得了所有必需的数据,我们可以使用上述数据为URL http://www.pizzahut.com.cn/StoreList/Index编写POST方法.
码:
我将向您展示刮取前2页的代码,您可以通过更改范围()来刮取您想要的任意数量的页面.
for page_no in range(1, 3):
data = {
'pageIndex': page_no,
'pageSize': 10,
'keyword': '输入餐厅地址或餐厅名称'
}
page = requests.post('http://www.pizzahut.com.cn/StoreList/Index', data=data)
soup = BeautifulSoup(page.text, 'html.parser')
print('PAGE', page_no)
for row in soup.find_all('div',class_='re_RNew'):
name = row.find('p',class_='re_NameNew').string
info = row.find('input').get('value')
location = info.split('|')
location_data = location[0].split(',')
longitude = location_data[0]
latitude = location_data[1]
print(longitude, latitude)
输出:
PAGE 1
31.085877 121.399176
31.271117 121.587577
31.098122 121.413396
31.331458 121.440183
31.094581 121.503654
31.270737000 121.481178000
31.138214 121.386943
30.915685 121.482079
31.279029 121.529255
31.168283 121.283322
PAGE 2
31.388674 121.35918
31.231706 121.472644
31.094857 121.219961
31.228564 121.516609
31.235717 121.478692
31.288498 121.521882
31.155139 121.428885
31.235249 121.474639
30.728829 121.341429
31.260372 121.343066
注意:您可以通过更改pageSize的值来更改每页的结果(当前为10).
内容总结
以上是互联网集市为您收集整理的javascript – 如何使用不变的URL抓取多个页面 – Python 3全部内容,希望文章能够帮你解决javascript – 如何使用不变的URL抓取多个页面 – Python 3所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。