用python-selenium实现Web抓取

用python-selenium实现Web抓取,python,selenium,web-scraping,beautifulsoup,Python,Selenium,Web Scraping,Beautifulsoup,我想从类“news”(Url在代码中提到)中刮取所有href内容,我尝试了这段代码,但它不起作用 代码: 谢谢你像这样的东西会有用的: for div in soup.find_all('article', 'news'): a = div.findAll('a') links = [article['href'] for article in a ] print(links) 所需内容位于框架内: <iframe width="100%" frameborder

我想从类“news”(Url在代码中提到)中刮取所有href内容,我尝试了这段代码,但它不起作用

代码:


谢谢你

像这样的东西会有用的:

for div in soup.find_all('article', 'news'):
    a = div.findAll('a')
    links = [article['href'] for article in a ]
    print(links)

所需内容位于框架内:

<iframe width="100%" frameborder="0" src="http://hindubusiness.cmlinks.com/Companydetails.aspx?&cocode=INE117A01022" id="compInfo" height="600px">...</iframe>
完整代码(使其无头):

输出:

/HomeFinancial.aspx?&cocode=INE117A01022&Cname=ABB-India-Ltd&srno=17040010444&opt=9
/HomeFinancial.aspx?&cocode=INE117A01022&Cname=ABB-India-Ltd&srno=17038039002&opt=9
/HomeFinancial.aspx?&cocode=INE117A01022&Cname=ABB-India-Ltd&srno=17019039003&opt=9
/HomeFinancial.aspx?&cocode=INE117A01022&Cname=ABB-India-Ltd&srno=17019038003&opt=9
/HomeFinancial.aspx?&cocode=INE117A01022&Cname=ABB-India-Ltd&srno=17019010085&opt=9

我认为您的问题是页面没有任何带有新闻类的
div
s。它有
文章
和新闻类。@jayant你知道有什么方法可以刮去所有这些href吗?我想要所有这些href内容(最新新闻)我想要公司新闻中的href我们可以隐藏chrome弹出窗口吗?是的,我们可以。搜索如何使用chrome_选项添加参数。如果选择任何无头浏览器,我认为chrome比phantomjs好,因为在启动点击时,前者的问题比后者少。但是,上面的脚本现在可以无头运行@python。您面临的问题与路径相关,因此有两个选项:1。创建一个描述你所面临障碍的新帖子,并在此处添加链接2。或者,坚持你最初的做法。
driver.switch_to.default_content()
driver.switch_to.frame('compInfo')
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

Base_url = "http://www.thehindubusinessline.com/stocks/abb-india-ltd/overview/"

chrome_options = Options()
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get(Base_url)
driver.switch_to.frame('compInfo')
soup = BeautifulSoup(driver.page_source, 'lxml')
for link in soup.select('.news a'):  
    print(link['href'])
/HomeFinancial.aspx?&cocode=INE117A01022&Cname=ABB-India-Ltd&srno=17040010444&opt=9
/HomeFinancial.aspx?&cocode=INE117A01022&Cname=ABB-India-Ltd&srno=17038039002&opt=9
/HomeFinancial.aspx?&cocode=INE117A01022&Cname=ABB-India-Ltd&srno=17019039003&opt=9
/HomeFinancial.aspx?&cocode=INE117A01022&Cname=ABB-India-Ltd&srno=17019038003&opt=9
/HomeFinancial.aspx?&cocode=INE117A01022&Cname=ABB-India-Ltd&srno=17019010085&opt=9