这是我第一次尝试编码,所以请原谅我的粗鲁。我试图通过以下链接来学习网页刮刮:https://data.gov.sg/dataset/industrial-arbitry-court-arwards-by-nature-of-trade-distrates?view_id=d3e444ef-54ed-4d0b-b715-1ee465f6d882&resource_id=c24d0d00-2d12-4f68-8fc9-4121433332e0
我真的花了几个小时来弄清楚我的代码有什么问题:
import csv
import requests
from BeautifulSoup import BeautifulSoup
url = 'https://data.gov.sg/dataset/industrial-arbitration-court-awards-by-nature-of-trade-disputes?view_id=d3e444ef-54ed-4d0b-b715-1ee465f6d882&resource_id=c24d0d00-2d12-4f68-8fc9-4121433332e0'
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html" target="_blank">html)
table = soup.find('tbody')
list_of_rows = []
for row in table.find('tr'):
list_of_cells = []
for cell in row.findAll('td'):
list_of_cells.append()
list_of_rows.append(list_of_cells)
outfile = open("./indarb.csv","wb")
writer = csv.writer(outfile)
然后,我的终端吐出这样的话:“nonetype”对象没有属性“find”,说第13行有一个错误。不确定它是否有助于查询,但这是我尝试的列表:
“find”/“find all”的不同排列
第10行的不同排列
第13行的不同排列
我真的试过了,但不明白为什么我不能刮取那个简单的10行表。如果有人能发布有效的代码,那就太棒了。谢谢你的耐心!
您有几个错误,最大的错误是您使用了BeautifulSoup3,它已经开发多年了,您应该使用bs4,您还需要使用find_all
当您想要多个标记时。此外,您还没有将cell传递给第13行的list_of_cells.append()
,这是导致其他错误的原因:
from bs4 import BeautifulSoup
url = 'https://data.gov.sg/dataset/industrial-arbitration-court-awards-by-nature-of-trade-disputes?view_id=d3e444ef-54ed-4d0b-b715-1ee465f6d882&resource_id=c24d0d00-2d12-4f68-8fc9-4121433332e0%27'
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html)
table = soup.find('table')
list_of_rows = []
for row in table.find_all('tr'):
list_of_cells = []
for cell in row.find_all('td'):
list_of_cells.append(cell)
list_of_rows.append(list_of_cells)
我不确定您到底想要什么,但这会从页面上的第一个表追加tds。如果你真的想要这些数据,你还可以使用和api,以及adownloadable csv。
您在代码中请求的URL不是HTML而是JSON。
我是python新手,正在尝试从以下站点获取数据。虽然这段代码适用于不同的站点,但我无法让它适用于nextgen stats。有人想知道为什么吗?下面是我的代码和我得到的错误 下面是我得到的错误 df11=pd。读取html(urlwk1)回溯(上次调用):文件“”,第1行,在文件“C:\Users\USERX\AppData\Local\Packages\PythonSoftwareFounda
在我的硕士论文中,我正在探索通过web自动化从网站中提取数据的可能性。步骤如下: 登录网站(https://www.metal.com/Copper/201102250376) 输入用户名和密码 单击登录 将日期更改为2020年1月1日 刮取生成的表格数据,然后将其保存到csv文件中 用我电脑上的特定名称保存到特定文件夹 运行相同的序列,在同一浏览器窗口的新选项卡中下载其他材料的其他历史价格数据
问题内容: 我正在尝试开发一个简单的网页抓取工具。我想提取没有代码的文本。我实现了这个目标,但是我发现在某些加载了的页面中,我没有获得良好的结果。 例如,如果一些代码添加了一些文本,则看不到它,因为当我调用 我得到的原始文本没有添加文本(因为在客户端执行了)。 因此,我正在寻找一些解决此问题的想法。 问题答案: 一旦安装了,请确保二进制文件在当前路径中可用: 例 举个例子,我用以下HTML代码创建
问题内容: 我想从网站上获取每天的日出/日落时间。是否可以使用Python抓取网络内容?使用什么模块?有没有可用的教程? 问题答案: 结合使用urllib2和出色的BeautifulSoup库:
我想刮从多个网站与类似的网址的,如https://woollahra.ljhooker.com.au/our-team, https://chinatown.ljhooker.com.au/our-team和https://bondibeach.ljhooker.com.au/our-team. 我已经写了一个脚本,第一个网站的工作,但我不知道如何告诉它从其他两个网站刮。 我的代码: 有没有一种方
问题内容: 所以,我的问题相对简单。我有一只蜘蛛在多个站点上爬行,我需要它按照我在代码中写入的顺序返回数据。它发布在下面。 结果以随机顺序返回,例如,返回29,然后28,然后30。我已经尝试将调度程序的顺序从DFO更改为BFO,以防万一这是问题所在,但这并没有改变。 问题答案: 定义在方法中使用的URL 。下载页面时,将为你的方法调用每个起始URL的响应。但是你无法控制加载时间-第一个起始URL可