我试图从一个交叉引用网站中提取零件号,但当我检查元素时,表周围使用的标签只有tr、td、tbody和table,它们在页面的许多其他位置都有使用。目前我正在使用美丽的汤和硒,我正在考虑使用lxml.html文件它的xpath工具,但我似乎无法得到漂亮的汤与它一起工作。你知道吗
我试图从中获取价值的网站是 https://jdparts.deere.com/servlet/com.deere.u90.jdparts.view.servlets.searchcontroller.PartialPartNumberSearchController?action=UNSIGNED_VIEW 从技术上讲,我只需要零件号、品牌、零件号、零件类型和描述值,但我可以处理整张表。你知道吗
当我使用
html2 = browser.page_source
source = soup(html2, 'html.parser')
for article in source.find_all('td', valign='middle'):
PartNumber = article.text.strip()
number.append(PartNumber)
它给出了页面上的所有值和一行文本中的几个空白值,这和手动提取值一样需要做大量的筛选工作。你知道吗
最终,我希望得到表中的值,并将其格式化为类似于表的格式,并且我可以删除不需要的列。收集表格中的信息最好的方法是什么?你知道吗
一种方法是找到
Qty.
,它是您想要的表开头的元素,然后查找上一个表。然后可以遍历tr
元素,并从每行的所有td
元素中生成一行值。你知道吗Python^{} 函数在这里可能很有用,因为它允许您从更大的列表中提取所需的元素(以任何顺序)。在本例中,我选择了项
1,2,3,4,5
,但是如果不需要说Make
,您可以提供1,3,4,5
。你知道吗搜索结果可能有多页结果,如果是这种情况,它会检查
Next Page
按钮,如果存在则调整params
以获得下一页结果。直到找不到下一页为止:它将给您一个
output.csv
文件,开始于:注意:这将使用
requests
而不是使用selenium
,因为这样会更快。你知道吗相关问题 更多 >
编程相关推荐