首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用BeautifulSoup & Selenium解析HTML内容

使用BeautifulSoup & Selenium解析HTML内容
EN

Stack Overflow用户
提问于 2016-05-03 10:38:00
回答 1查看 423关注 0票数 1
代码语言:javascript
复制
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’)和page.source目前在代码中,但它没有得到任何我需要的网络链接。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-03 11:57:14

不知道你为什么在这里需要BeautifulSoup (BS)。单靠Selenium就能够定位元素并浏览页面上的链接。例如,要获取到“匹配详细信息”页面的所有链接,可以执行以下操作:

代码语言:javascript
复制
>>> matches = driver.find_elements_by_xpath("//td[@class='match-centre']/a")
>>> print [match.get_attribute("href") for match in matches]

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

代码语言:javascript
复制
//span[contains(@class,'page-numbers')]/following-sibling::a[1]

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

  1. 对链接执行单击操作,
  2. 从当前页面抓取所有href
  3. 找到下一个页面链接。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37001877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档