我已经获得了刮取第一页的代码,但是url从:
https://www.expansion.com/empresas-de/ganaderia/granjas-en-general/index.html --
import requests<br>
from bs4 import BeautifulSoup<br>
url = "https://www.expansion.com/empresas-de/ganaderia/granjas-en-general/index.html"<br>
page = requests.get(url)<br>
soup = BeautifulSoup(page.content, "html.parser")<br>
lists = soup.select("div#simulacion_tabla ul")<br>
for lis in lists:<br>
title = lis.find('li', class_="col1").text<br>
location = lis.find('li', class_="col2").text<br>
province = lis.find('li', class_="col3").text<br>
info = [title, location, province]<br>
如何创建从第2页到第65页的循环?非常感谢!
首先,请确保以正确的方式格式化代码,以便每个人都能阅读。在这里你可以找到更多。
这可能是一个潜在的解决方案。远不是优化代码,但您可以从中获得一些灵感。
import requests
from bs4 import BeautifulSoup
def scrape_page(url):
""" Scrape the give url and return the bs4 ResultSet """
page = requests.get(url)
soup = BeautifulSoup(page.content, "html.parser")
table = soup.select("div#simulacion_tabla ul")
print(type(table))
return table
def extract_rows(table):
""" Extract rows """
rows = []
for row in table:
title = row.find('li', class_="col1").text
location = row.find('li', class_="col2").text
province = row.find('li', class_="col3").text
rows.append([title, location, province])
return rows
big_table = []
index = scrape_page("https://www.expansion.com/empresas-de/ganaderia/granjas-en-general/index.html")
for row in extract_rows(index):
big_table.append(row)
for x in range(2, 66):
index = scrape_page("https://www.expansion.com/empresas-de/ganaderia/granjas-en-general/" + str(x) + ".html")
for row in extract_rows(index):
big_table.append(row)
print(big_table)
以下是工作解决方案:
import requests
from bs4 import BeautifulSoup
for page in range(1,65):
url = "https://www.expansion.com/empresas-de/ganaderia/granjas-en-general/{page}.html".format(page =page)
#print(url)
page = requests.get(url)
soup = BeautifulSoup(page.content, "html.parser")
lists = soup.select("div#simulacion_tabla ul")
for lis in lists:
title = lis.find('li', class_="col1").text
location = lis.find('li', class_="col2").text
province = lis.find('li', class_="col3").text
info = [title, location, province]
print(info)
我有一小段代码来从web站点中提取表数据,然后以csv格式显示。问题是for循环多次打印记录。我不确定是不是因为 标签。顺便说一句,我是Python新手。谢谢你的帮助!
我试图刮此页上Flipkart: http://www.flipkart.com/moto-x-play/p/itmeajtqp9sfxgsk?pid=MOBEAJTQRH4CCRYM 我试图找到的div类"fk-ui-ccarousel超级容器相同的vreco部分reco-carousel-边界-顶部sameHorizontalReco",但它返回空结果。 divs是空的。我使用inspect元
我有一个带有div标签的页面源,如下面的示例页面源。我想像下面的例子一样刮掉所有的网址,并将它们保存在列表中。 示例url: 来自: 我尝试使用下面的代码从href中刮取网址。我试图使用span类来过滤只包含作业卡search__easy飞机的div标签。代码不返回任何网址,只是一个空列表。我对美丽的汤和硒不熟悉。如果有人能指出我的问题是什么,并提出一个解决方案,我会很高兴。特别是如果你也能给出一
我从谷歌应用商店抓取应用名称,每个网址作为输入,我只得到60个应用(因为如果用户不向下滚动,网站会呈现60个应用)。它是如何工作的,我如何才能从一个页面刮所有的应用程序使用美丽的汤和/或硒? 非常感谢。 这是我的密码:
问题内容: 我正在尝试在Python 2.7中安装BeautifulSoup 。我不断收到错误消息,无法理解原因。 我按照说明安装了pip,该pip已安装到以下目录:,然后尝试将其添加到路径中并运行命令。 尝试了两种不同的方法: 都给我这个错误信息: 该外壳突出显示“安装”一词,并说这是无效的语法。 我不知道发生了什么,所以任何帮助将不胜感激。 问题答案: 是 命令行工具 ,而不是Python语法
我试图使用beautiful soup刮一个html表,并将其导入熊猫--http://www.baseball-reference.com/teams/nym/2017.shtml--“Team Batting”表。 找表没问题: 现在我很难把所有的东西放在一个数据帧中。以下是我目前掌握的信息: 这一次只适用于一行。我的问题是如何同时对表中的每一行都这样做?