Questions tagged «web-crawler»

Web爬网程序(也称为Web爬虫)是一种计算机程序,可以有条不紊,自动地或有序地浏览万维网。Web爬网程序的其他术语是蚂蚁,自动索引器,机器人,Web蜘蛛,Web机器人,或者(尤其是在FOAF社区中)Web Scutter。

5
如何要求Google重新抓取我的网站?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 改善这个问题 有人知道要求Google重新抓取网站的方法吗?如果可能的话,这不应该持续几个月。我的网站在Google的搜索结果中显示了旧标题。如何显示正确的标题和描述?
227 seo  web-crawler 

2
使用Python中的请求库发送“用户代理”
我想在"User-agent"使用Python请求请求网页时发送的值。我不确定是否可以将其作为标头的一部分发送,如以下代码所示: debug = {'verbose': sys.stderr} user_agent = {'User-agent': 'Mozilla/5.0'} response = requests.get(url, headers = user_agent, config=debug) 调试信息未显示请求期间发送的标头。 在标头中发送此信息是否可以接受?如果没有,我该如何发送?

4
防止rsync删除未完成的源文件
我有两台机器,速度和质量。speed具有快速的Internet连接,并且正在运行搜寻器,该搜寻器会将大量文件下载到磁盘。海量有很多磁盘空间。完成下载后,我想将文件从速度移动到大量。理想情况下,我会运行: $ rsync --remove-source-files speed:/var/crawldir . 但我担心rsync会取消链接尚未完成下载的源文件。(我查看了源代码,但没有发现任何防止这种情况的方法。)有什么建议吗?



11
查找每个Docker映像的层和层大小
出于研究目的,我正在尝试爬网公共Docker注册中心(https://registry.hub.docker.com/)并找出1)平均映像有多少层,以及2)这些层的大小以获得一个分配的想法。 但是我研究了API和公共库以及github上的详细信息,但找不到任何方法可以: 检索所有公共存储库/图像(即使这些存储库/图像是数千个,我仍然需要一个起始列表来进行迭代) 找到图像的所有层 查找图层的大小(不是图像,而是单个图层)。 谁能帮助我找到一种检索此信息的方法? 谢谢! 编辑:有谁能够验证在Docker注册表中搜索“ *”是否返回所有存储库,而不仅仅是返回任何提到“ *”的内容?https://registry.hub.docker.com/search?q=*

11
检测“隐身”网络爬虫
有哪些选项可以检测不想被检测的网络爬虫? (我知道列表检测技术将使聪明的隐身爬虫程序员能够制造出更好的蜘蛛,但是我认为我们无论如何都不会阻止聪明的隐身爬虫,只有那些会犯错误的人才可以。) 我不是在谈论诸如Googlebot和Yahoo!这样的爬虫。lur 如果它适合我​​,我认为它很不错: 在用户代理字符串中将自己标识为漫游器 读取robots.txt(并遵守它) 我说的是糟糕的抓取工具,它们隐藏在常见的用户代理后面,使用我的带宽,从不给我任何回报。 有一些陷阱门可以构造更新列表(感谢Chris,gs): 添加仅在robots.txt中列出(标记为不允许)的目录, 添加不可见的链接(可能标记为rel =“ nofollow”?), style =“ display:none;” 在链接或父容器上 放在另一个Z-index较高的元素下 检测谁不了解CaPiTaLiSaTioN, 检测谁尝试发布回复,但总是使验证码失败。 检测对仅POST资源的GET请求 检测请求之间的间隔 检测所请求页面的顺序 检测谁(一致地)通过http请求https资源 检测谁不请求图像文件(与已知的具有图像功能的浏览器的用户代理列表结合使用,效果非常好) 一些陷阱将由“好”和“坏”的僵尸程序触发。您可以将其与白名单合并: 触发陷阱 它要求robots.txt吗? 它不会触发另一个陷阱,因为它遵循了 robots.txt 这里还有一个重要的事情是: 请考虑使用屏幕阅读器的盲人:给人们一种与您联系的方法,或者解决(非图像)验证码以继续浏览的问题。 有哪些方法可以自动检测试图将自己掩盖为正常访客的网络爬虫。 更新 问题不在于:如何捕获每个爬虫。问题是:如何最大程度地检测爬虫。 有些蜘蛛非常好,实际上可以解析和理解html,xhtml,css javascript,VB脚本等... 我没有幻想:我无法击败他们。 但是,您会惊讶于某些爬虫多么愚蠢。在我看来,愚蠢的最好例子是:在请求所有URL之前,将所有URL转换为小写。 然后还有一大堆“不够好”的履带板无法避开各种活板门。
107 web-crawler 

2
TypeError:无法在re.findall()中的类似字节的对象上使用字符串模式
我正在尝试学习如何自动从页面获取URL。在下面的代码中,我试图获取网页的标题: import urllib.request import re url = "http://www.google.com" regex = r'<title>(,+?)</title>' pattern = re.compile(regex) with urllib.request.urlopen(url) as response: html = response.read() title = re.findall(pattern, html) print(title) 我得到这个意外的错误: Traceback (most recent call last): File "path\to\file\Crawler.py", line 11, in <module> title = re.findall(pattern, html) File "C:\Python33\lib\re.py", line 201, in findall return _compile(pattern, …



8
从站点获取URL列表[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 4年前关闭。 改善这个问题 我正在为客户端部署替换站点,但他们不希望所有旧页面都以404结尾。保留旧的URL结构是不可能的,因为它很丑陋。 因此,我正在编写一个404处理程序,该处理程序应查找被请求的旧页面并永久重定向到新页面。问题是,我需要所有旧页面URL的列表。 我可以手动执行此操作,但是如果有任何应用可以为我提供相对网址(例如/ page / path,而不是http:/.../ page / path)的列表,我会很感兴趣页。就像蜘蛛一样,但是除了查找更深的页面外,它并不关心内容。


10
从Bot隐藏电子邮件地址-保留mailto:
tl; dr 在不使用脚本的情况下从漫游器隐藏电子邮件地址并维护mailto:功能。方法还必须支持屏幕阅读器。 概要 电子邮件混淆,无需使用脚本或联系表格 电子邮件地址必须对观众完全可见,并保持mailto:功能 电子邮件地址不能为图像形式。 电子邮件地址必须对垃圾邮件抓取者和垃圾邮件机器人以及任何其他收割者类型“完全”隐藏 所需效果: 请没有脚本。项目中没有使用脚本,我想保持这样。 电子邮件地址可以显示在页面上,也可以在用户进行某种形式的交互后轻松显示,例如打开模式。 该用户可以点击的电子邮件地址,这反过来会触发mailto:功能。 单击电子邮件将打开用户的电子邮件应用程序。 换句话说,mailto:功能必须起作用。 电子邮件地址不可见或未标识为机器人的电子邮件地址(包括页面源) 我的收件箱里没有垃圾邮件 什么不工作 添加联系表格-或类似内容-代替电子邮件地址 我讨厌联络表格。我很少填写联系表格。如果没有电子邮件地址,我会寻找电话号码,如果没有电话号码,我会开始寻找替代服务。如果绝对需要,我只会填写联系表格。 用地址图像替换地址 这会对使用屏幕阅读器的人造成巨大的不利影响(请记住,您未来的项目中有视力障碍的人) 除非您使图像可单击,然后再将该功能添加为链接的,否则它还会删除该mailto:功能,但这违背了目的,并且现在僵尸程序可以看到该电子邮件。mailto:href 可能有效的方法: 巧妙地使用pseudo-elementsinCSS 利用base64编码的解决方案 分解电子邮件地址并在文档中散布各个部分,然后在用户单击按钮时将它们放回模态中(这可能涉及多个CSS类和的用法anchor tags) html通过更改属性CSS @MortezaAsadi在下面的评论中优雅地提出了可能性。这是完整链接-该文章来自2012年: 如果我们可以使用CSS更改HTML属性怎么办? 我所不了解的其他创造性解决方案。 类似的问题/修复 JavaScript:Joe Maller保护您的电子邮件地址 (这是乔·马勒(Joe Maller)提出的一个很好的解决方案,它可以很好地工作,但是它是基于脚本的。 <SCRIPT TYPE="text/javascript"> emailE = 'emailserver.com' emailE = ('yourname' + '@' + emailE) document.write('<A href="mailto:' …
80 html  css  web-crawler  mailto 

8
如何在Python脚本中运行Scrapy
我是Scrapy的新手,我正在寻找一种从Python脚本运行它的方法。我找到2个资料来解释这一点: http://tryolabs.com/Blog/2011/09/27/calling-scrapy-python-script/ http://snipplr.com/view/67006/using-scrapy-from-a-script/ 我不知道应该在哪里放置我的Spider代码以及如何从main函数中调用它。请帮忙。这是示例代码: # This snippet can be used to run scrapy spiders independent of scrapyd or the scrapy command line tool and use it from a script. # # The multiprocessing library is used in order to work around a bug in Twisted, in which you cannot restart …

10
设计网络爬虫
我遇到了一个采访问题“如果您正在设计Web搜寻器,如何避免陷入无限循环?”,而我正试图回答这个问题。 这一切是如何从头开始的。假设Google从一些中心页面开始说,其中有数百个(首先如何找到这些中心页面是一个不同的子问题)。当Google跟踪页面中的链接等时,它是否会继续创建哈希表以确保它不遵循先前访问的页面。 如果当我们拥有URL缩短器等功能时,如果同一页面上有2个名称(URL)怎么办? 我以Google为例。尽管Google不会泄漏其网络爬虫算法和页面排名等的工作原理,但是有什么猜测吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.