python - 在 URL 不包含页码的情况下,为多个页面抓取具有动态加载数据的网站
问题描述
我正在尝试从通过 javascript 加载数据的网站上抓取数据,并且主 url 不包含页码。网址是网站链接。为了抓取数据,我正在使用 python 编程语言和硒。但是我只有第一页数据,我无法获得其他页面,例如第 1 页、第 2 页、第 3 页。
我已经提到了我正在问候单页数据的代码。
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from bs4 import BeautifulSoup
from selenium import webdriver
url ='https://www.ikh.se/sv/kemikalier--smorjmedlar/fordon-kemikalier'
browser = webdriver.Chrome(ChromeDriverManager().install())
browser.get(url)
data = browser.find_element_by_id('dnsList')
dataList = data.find_elements_by_tag_name('a')
i = 1
for item in dataList:
productName = item.find_element_by_class_name('ProdName')
productPrice = item.find_element_by_class_name('ProdPrice')
productCode = item.find_element_by_class_name('ProdCode')
pName = productName.text
pPrice = productPrice.text
pCode = productCode.text
print( '#SL : ' + str(i) + ' Product Code : ' + pCode + '-->' + 'ProductName : ' + pName + ' Product Price : ' + pPrice)
i = i + 1
解决方案
有一个“PRODUKTLIST-PDF”
<form id="pdf-form" class="pdf-form" action="/getProductListPDF.asp?sua=2&lang=2&navid=14456615" method="POST" target="_blank">
在您获得navid
每个菜单的位置,您可以将其添加到navid
您的 api 以将菜单的产品详细信息作为 json 获取,这会更快
api(每个菜单只有导航更改)
https://www.ikh.se/sysNet/getProductsJSON/getProductsJSONDB.aspx?sua=2&lang=2&navid=14456615
推荐阅读
- java - netbeans 12.0存储的jsp文件的class文件在哪里
- python - 当我运行代码时,图像不可见。但是当我将鼠标悬停在任务栏中时,它会显示图像。请帮帮我
- nlp - 如何使用 PlantUML 传递变量和绘制用例图
- c++ - 为什么VS代码编辑器不运行代码
- jsp - jsp,尝试在 td 中使用选择语句来更改传递值
- excel - 即使数据没有变化也记录值
- amazon-web-services - 您可以使用 AWS Fargate 运行不受信任的代码吗?
- python - 如何从帖子链接本身获取reddit帖子内容的链接
- ios - 如何为 iPad 动态更改弹出框的高度
- python - pyspark 内存高效循环将指标列添加到数据帧