我已经浏览了网络,阅读和观看了几个关于如何解决我的问题的在线指南,但我被卡住了,希望得到一些投入。我正在尝试建立一个网站刮刮器,将从路透社的并购交易部分刮刮,并成功地编写了一个程序,可以刮刮标题,摘要,日期,和文章的链接。然而,我试图解决的问题是,我希望程序只从标题/文章中刮取摘要,这些标题/文章位于合并和收购栏的正下方。当前的程序正在刮取它看到的所有标记为“文章”和属性/类为“故事”的标题,因此,不仅刮取合并和收购栏目的标题,而且刮取市场新闻栏目的标题。
当bot开始从市场新闻栏中抓取标题时,我不断地得到属性错误,因为市场新闻栏没有任何摘要,因此没有文本可拉,导致我的代码终止。我试图用try/except逻辑路径来解决这个问题,认为它不会从市场新闻栏中拉出头条,但是代码一直拉出头条。
我试着写了一段新的代码,告诉程序不是寻找所有带有文章的标签,而是寻找所有带有文章的标签,我认为如果我给bot一个更直接的路径,它就会从自上而下的方法中抓取文章。然而,这失败了,现在我的头只是痛。提前谢谢大家!
下面是我的代码:
from bs4 import BeautifulSoup
import requests
website = 'https://www.reuters.com/finance/deals/mergers'
source = requests.get(website).text
soup = BeautifulSoup(source, 'lxml')
for article in soup.find_all('article'):
headline = article.div.a.h3.text.strip()
#threw in strip() to fix the issue of a bunch of space being printed before the headline title.
print(headline+ "\n")
date = article.find("span",class_ = 'timestamp').text
print(date)
try: #Put in Try/Except logic to keep the code going
summary = article.find("div", class_="story-content").p.text
print(summary + "\n")
link = article.find('div', class_='story-content').a['href']
#this bit [href] is the syntax needed for me to pull out the URL from the html code
origin = "https://www.reuters.com/finance/deals/mergers"
print(origin + link + "\n")
except Exception as e:
summary = None
link = None
#This section here is another part I'm working on to get the scraper to go to
#the next page and continue scraping for headlines, dates, summaries, and links
next_page = soup.find('a', class_='control-nav-next')["href"]
source = requests.get(website + next_page).text
soup = BeautifulSoup(source, 'lxml')
仅更改此行:
for article in soup.select('div[class="column1 col col-10"] article'):
使用此语法,.select()查找
下面的所有article
标记,它包含您感兴趣的头,而不是其他头。
这里是文档:https://www.crummy.com/software/Beautifulsoup/bs4/doc/index.html?highlight=selectcss-selectors
我试图使用Selenium从代码中获得jpg。我已经设法找到了链接点击获得我的jpg所在的位置。(真倒霉!我刚接触硒)。所有的窗户都随着它的点击而打开。与刮刮乐相比,它真的很慢,所以如果有人能告诉我一个更快的方法,那就太好了。 我试图搜索的网站是www.rosegal.com。我正在刮的类别是大尺寸的背心。这第一页有60个产品在它。如果单击这些产品,它会将您带到一个产品页面,在该页面上您可以选择所
***我的代码只用于练习! 我试图从FPL的网站上删除每个玩家的名字和团队https://www.premierleague.com/我的代码有一些问题。 问题是它只得到的页面与'-1'在网址的末尾,whch我甚至没有灌输在我的页面列表! 页面没有任何逻辑-基本url是https://www.premierleague.com/players?se=363 我的代码:
我试着在香港列出所有餐馆和他们的相应网址。目前,在我下面的代码中,我能够刮取第一页和第二页。但我希望底部的for循环更具动态性,并不断刮取,直到达到我在range()中指定的条目数量。 我在这方面还是个新手,所以任何帮助都会很棒。
我正在尝试从此网页的一个表中提取表数据。但是,当我尝试从每个表行提取表数据时,似乎无法从每一行获取数据。我检测到的一种模式是,我无法看到存在图像的行的表数据。有没有其他的方法,我仍然可以刮我想要的数据(职位,家乡,职级等),特别是当涉及到那些图片存在的时候? 我已经能够使用“div”类获得播放器名称,但我不认为我能够将它用于其他列中的数据。
使用MediaQuery类及其数据属性,我想为整个应用程序设置textScaleFactor,但是我不能在MaterialApp之前获得上下文。
实现一个刮刮乐的刮奖效果。即用手指滑动刮奖区,会刮去上面一层视图,显示下面一层视图的内容。 [Code4App.com]