我试图避免刮相同的信息不止一次,我每天早上运行这个蜘蛛刮工作董事会的工作,然后我复制他们到Excel中,并按列表中删除重复使用URL。我想在scrapy中做到这一点(我可以将txt文件更改为csv)。我会很乐意来实现中间件scrapy重复过滤器与csv文件
这是我尝试使用
class CraigslistSamplePipeline(object):
def find_row_by_id(item):
with open('URLlog.txt', 'r') as f: # open my txt file with urls from previous scrapes
urlx = [url.strip() for url in f.readlines()] # extract each url
if urlx == item ["website_url"]: # compare old url to URL being scraped
raise DropItem('Item already in db') # skip record if in url list
return
我敢肯定,这个代码是错误的pipleing,可以有人请建议我怎么能做到这一点,林很新的这样解释每一行会帮助我很多。我希望我的问题是有道理的,有人可以帮我
香港专业教育学院看着这些帖子求助,但没能解决我的问题:
How to Filter from CSV file using Python Script
Scrapy - Spider crawls duplicate urls
how to filter duplicate requests based on url in scrapy
你是说'urlx'在从文件中读取后包含重复项吗? –
不,这个代码不起作用,我根本没有写入urlx,urlx只是从URLlog.txt文件中获取它,并且我在抓取完成后手动添加URL到URLlog.txt – user2636623
哦,我想我现在明白了。 –