【发布时间】:2019-04-01 04:34:24
【问题描述】:
我相信这是一个简单的,我愿意学习更多。问题是我想通过 URL 抓取网站标题。这样做的目的是预测在线新闻的流行度,数据来自 UCI 机器学习存储库。这里是the link。
我按照 Scrapy 的教程,将“quotes spider”中的代码更改如下。在终端中运行“scrapy crawl quotes”后,我使用“scrapy crawl quotes -o quotes.json”将所有标题保存为JSON。
有 158 人失踪。我有 39,486 个 URL,但有 39,644 个网站标题。此外,每个网站的顺序并不适合每个 URL。例如,最终标题对应倒数第三个 URL。你能帮我找出问题吗?
这是结果
我尝试在 Jupyter Notebook 中使用“美丽的汤”,但速度很慢,无法判断代码是否仍在运行。
import scrapy
import pandas as pd
df = pd.read_csv("/Users/.../OnlineNewsPopularity.csv",delim_whitespace=False)
url = df['url']
class QuotesSpider(scrapy.Spider):
name = "quotes"
start_urls = url.values.tolist()
def parse(self, response):
for quote in response.css('h1.title'):
yield {
'Title': quote.css('h1.title::text').extract_first(),
}
【问题讨论】:
标签: python python-3.x scrapy