我有一个破烂的代码,应该能够采取电话和地址从一个网页中的表格:
import scrapy
class PeopleSpider(scrapy.Spider):
name="People"
start_urls=[
'http://canada411.yellowpages.ca/search/si/1/519-896-7080/',
]
def parse(self,response):
for people in response.css("div.person-search__table--row"):
yield
我在seed.txt中用url-1成功地执行了一次爬行,我可以在MySQL数据库中看到爬行的数据。现在,当我尝试通过在seed.txt中用url-2替换url-1来执行另一次新的爬行时,新的爬行开始于抓取步骤,并且它试图抓取的url是seed.txt中旧的替换的url。我不确定它是从哪里拿到这个旧网址的。
我尝试检查隐藏的种子文件,但没有找到,并且在我运行爬网命令的NUTCH_HOME/ run /local中只有一个文件夹urls/seed.txt。请告诉我可能是什么问题?
我使用Python和Scrapy来回答这个问题。
我试图抓取网页A,它包含指向网页的链接列表-- B1、B2、B3、.每一个B页面都包含一个指向另一个页面的链接,C1、C2、C3、.,其中包含一个图像。
所以,使用Scrapy,在伪代码中的思想是:
links = getlinks(A)
for link in links:
B = getpage(link)
C = getpage(B)
image = getimage(C)
然而,当我试图在Scrapy中解析多个页面时,我遇到了一个问题。这是我的代码:
def parse(self, response):
我正在尝试从包含表的网页中获取数据,然后将表中的值与其他表值进行比较。我可以在python中将网页转换为json数据或字典吗?例如,我有url www.yahoo.com,如何将html数据转换为json?我试过了
response = urllib2.urlopen(url)
data = str(response.read())
我得到html输出。如果我尝试json.loads(data),我得到错误raise ValueError("No JSON object could be decoded")是否有办法从网页上显示的表格中拉出数据
所以我有以下网页:
我只想把表格剥离成一个数据框架或其他一些结构,然后我可以使用它,最终目标是我可以轻松地浏览类似的网页,然后把所有的结果连在一起,这样我就可以把它们放到一个电子表格中。
我完全迷失了方向,教程都指向了过时的图书馆。我正在使用Python3.4和PyCharm Community 2016.2.3。让我们假设我没有当前代码。