繁体   English   中英

使用 BeautifulSoup 和 Selenium 解析 HTML 内容

[英]Parsing HTML Content using BeautifulSoup & Selenium

from selenium import webdriver
from selenium.webdriver.support.ui import Select
from bs4 import BeautifulSoup
import csv
import requests
import re

driver2 = webdriver.Chrome()
driver2.get("http://www.squawka.com/match-results?ctl=10_s2015")

soup=BeautifulSoup(driver2.page_source)

print soup

driver2.quit()

我正在尝试获取每个“td”、“Class”:“Match Centre”的 HREF,我需要使用 selenium 来浏览页面,但我正在努力将两者结合起来,以便我可以更改菜单选项并浏览不同的页面,同时将链接输入我的其他代码。

我已经研究并尝试过 ('inner-html') 和当前在代码中的 page.source,但它没有得到我需要的任何网络链接。

有没有人有解决方案来获取这些链接并在页面上导航。 有没有办法获取此页面的 XML 以获取所有链接?

不知道为什么你需要BeautifulSoup (BS) 在这里。 Selenium 本身就能够定位元素并浏览页面上的链接。 例如,要获取指向比赛详细信息页面的所有链接,您可以执行以下操作:

>>> matches = driver.find_elements_by_xpath("//td[@class='match-centre']/a")
>>> print [match.get_attribute("href") for match in matches]

至于浏览页面,您可以使用以下 XPath :

//span[contains(@class,'page-numbers')]/following-sibling::a[1]

上面的 XPath 找到指向下一页的链接。 要浏览所有页面,您可以尝试使用while循环; 找到下一页的链接时:

  1. 对链接执行点击操作,
  2. 从当前页面获取所有href
  3. 找到下一页链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM