当前位置: 首页 > 知识库问答 >
问题:

使用selenium和python在抓取数据时迭代单击

张玺
2023-03-14

我正试图从这个网页上抓取数据

http://stats.espncricinfo.com/ci/engine/stats/index.html?class=1;团队=5人;模板=结果;类型=击球

我需要从表中复制内容并将其放入csv文件中,然后转到下一页并将这些页面的内容附加到同一文件中。我可以刮表,但是当我尝试使用SeleniumWebDriver的click循环单击next按钮时,它会转到下一页并停止。这是我的密码。

    driver = webdriver.Chrome(executable_path = 'path')
    url = 'http://stats.espncricinfo.com/ci/engine/stats/index.html?class=1;team=5;template=results;type=batting'
def data_from_cricinfo(url):
    driver.get(url)
    pgsource = str(driver.page_source)
    soup = BeautifulSoup(pgsource, 'html5lib')
    data = soup.find_all('div', class_ = 'engineTable')
    for tr in data:
        info = tr.find_all('tr')
             # grab data

    next_link = driver.find_element_by_class_name('PaginationLink')
    next_link.click()
data_from_cricinfo(url)

有没有无论如何点击下一个使用循环的所有页面,并将所有页面的内容复制到同一个文件?提前感谢。

共有1个答案

满勇军
2023-03-14

您可以执行如下操作来遍历所有页面(通过Next按钮)并解析表中的数据:

from selenium import webdriver
from bs4 import BeautifulSoup

URL = 'http://stats.espncricinfo.com/ci/engine/stats/index.html?class=1;team=5;template=results;type=batting'

driver = webdriver.Chrome()
driver.get(URL)

while True:
    soup = BeautifulSoup(driver.page_source, 'html5lib')
    table = soup.find_all(class_='engineTable')[2]
    for info in table.find_all('tr'):
        data = [item.text for item in info.find_all("td")]
        print(data)

    try:
        driver.find_element_by_partial_link_text('Next').click()
    except:
        break

driver.quit()
 类似资料:
  • 问题内容: 在网站上,有在标顶部的几个环节,,,和。如果按下以数字标记的链接,它将动态地将一些数据加载到content中。如果被按下,它会用标签页,,,和第4页中的数据显示。 我想从按下的所有链接的内容中抓取数据(我不知道有多少,一次只显示3个,然后) 请举一个例子。例如,考虑网站www.cnet.com。 请指导我下载使用selenium的一系列页面,并自行解析它们以处理漂亮的汤。 问题答案:

  • 我试图抓取亚马逊的一些产品,但是当程序抓取的时候卡住了。这是代码: 这是输出: 正如你所看到的,当它到达产品编号12时,它卡在那里,但是,它没有发送任何错误信息或任何东西。我不知道该怎么办,我需要帮助。谢了。

  • 我想从约翰·霍普金斯大学的新冠病毒仪表盘中找出死亡总人数。我想使用Selenium、Python和Selenium的chrome驱动程序来实现这一点。死亡人数可在路径下找到。 这是我的剧本: 它失败,错误为“无此类元素: 这种情况也发生在其他我正在努力抓取的网站上。 我怎样才能解决这个问题?这个错误的原因是什么?

  • 我已经使用Python Beautifulsoup从该网站的所有页面中,将此表中的数据刮取到字典中,如下面的代码所示。 然而,我也在努力为每一家有自己独立页面的公司拼凑,并将其编入词典。

  • 在我的硕士论文中,我正在探索通过web自动化从网站中提取数据的可能性。步骤如下: 登录网站(https://www.metal.com/Copper/201102250376) 输入用户名和密码 单击登录 将日期更改为2020年1月1日 刮取生成的表格数据,然后将其保存到csv文件中 用我电脑上的特定名称保存到特定文件夹 运行相同的序列,在同一浏览器窗口的新选项卡中下载其他材料的其他历史价格数据

  • 本文向大家介绍python数据抓取分析的示例代码(python + mongodb),包括了python数据抓取分析的示例代码(python + mongodb)的使用技巧和注意事项,需要的朋友参考一下 本文介绍了Python数据抓取分析,分享给大家,具体如下: 编程模块:requests,lxml,pymongo,time,BeautifulSoup 首先获取所有产品的分类网址: 我们在产品分类