我正在尝试用scrapy制作一个专门针对网络爬虫的爬虫,它会返回我的结果的一个对象。我被卡住了,可能会把事情搞得一团糟。
更具体地说,对于上的每个子论坛(数学、物理等),我希望获得每个子论坛中所有线程的标题,并以一个对象结束,该对象具有论坛名称和论坛中所有线程的标题列表。
最终目标是对帖子标题进行文本分析,以确定与每个论坛相关的最常见的术语/术语。最后,我还想对线程本身进行分析。
我有一个定义如下的类项:
from scrapy.item import Item, Field
class ProjectItem(Item):
name = Field() #the forum nam
我在php中有一个DOM网络爬虫,它工作得很好。它所做的就是从论坛站点中提取所提到的特定类语句,并在我的php页面中回显它们。
因此,由于论坛站点有超过1000+的帖子,DOM解析器代码提取上限,并将错误打印为Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\usmlemed\dom\simple_html_dom.php on line 75。
那么,在解析所有语句之前,我如何才能让执行时间继续进行呢?
我在我的web应用程序中使用了漂亮的URL,其中一个例子是“论坛/ post /1”,它在论坛模块中调用PostController,它用id=1加载一个帖子,这是我所需要的,但是这个帖子也可以从‘论坛/ post /view/id/1’访问。这很糟糕,因为搜索爬虫不喜欢从几个URL访问相同的页面,对吗?
我使用的Yii框架支持'useStrictParsing‘选项,它告诉传入的请求必须至少匹配一个“漂亮”路由,否则请求就会失败。然而,这并不是一个完美的解决方案,因为对于每个控制器/操作,我都没有漂亮的URL。
理想情况下,框架应该使用301状态代码将论坛/post/view/id/
我正在学习爬虫,在一些基本的爬虫之后,我尝试从github下载谷歌学者爬虫大师,看看它是如何运行的,在几个我可以修复的错误之后,我遇到了一个ModuleNotFoundError: No module named 'proxy'错误(middleware.py文件,from proxy import PROXIES行是问题)。
这段代码有一些问题,其中包含python 3.x版本中不再支持/建议的解决方案,包括后来被重命名/移动的模块,但我无法确定这是否也是这种情况,希望能得到帮助。
关于以前的question,我想知道什么时候启动爬虫: scrapy crawl spider -a username=Bidule -a password=TMTC #cmd1 scrapy crawl spider -a username=Truc -a password=TMTC #cmd2 如何获取每个IP的当前IP? 注:在另一个论坛上,一位成员告诉我,代理将管理它,但我想检查一下这是不是真的,以便知道我是否必须在我的代码中更改一些东西。