标签: web-crawler

如何请求Google重新抓取我的网站?

有人知道请求Google重新抓取网站的方法吗?如果可能的话,这不应该持续数月.我的网站在Google的搜索结果中显示旧标题.如何以正确的标题和描述显示它?

seo web-crawler

218
推荐指数
2
解决办法
40万
查看次数

使用Python中的Requests库发送"User-agent"

我想在"User-agent"使用Python请求请求网页时发送一个值.我不确定是否可以将其作为标题的一部分发送,如下面的代码所示:

debug = {'verbose': sys.stderr}
user_agent = {'User-agent': 'Mozilla/5.0'}
response  = requests.get(url, headers = user_agent, config=debug)
Run Code Online (Sandbox Code Playgroud)

调试信息未显示请求期间发送的标头.

在标题中发送此信息是否可以接受?如果没有,我该如何发送?

python web-crawler python-requests

196
推荐指数
3
解决办法
20万
查看次数

保持rsync删除未完成的源文件

我有两台机器,速度和质量.speed具有快速的Internet连接,并且正在运行将大量文件下载到磁盘的爬虫.质量有很多磁盘空间.我想在下载完成后将文件从速度移动到质量.理想情况下,我只是运行:

$ rsync --remove-source-files speed:/var/crawldir .
Run Code Online (Sandbox Code Playgroud)

但我担心rsync会取消尚未完成下载的源文件的链接.(我查看了源代码,但我没有看到任何可以防止这种情况的内容.)有什么建议吗?

rsync storage web-crawler

170
推荐指数
2
解决办法
1万
查看次数

BeautifulSoup和Scrapy爬虫之间的区别?

我想建立一个网站,显示亚马逊和电子海湾产品价格之间的比较.哪个更好,为什么?我对BeautifulSoup有点熟悉,但与Scrapy爬虫不太相似.

python beautifulsoup web-crawler scrapy

128
推荐指数
3
解决办法
6万
查看次数

115
推荐指数
11
解决办法
11万
查看次数

检测"隐形"网络爬虫

有哪些选项可以检测不希望被检测到的网页抓取工具?

(我知道列表检测技术将允许智能隐形爬虫程序员制作出更好的蜘蛛,但我认为无论如何我们都无法阻止智能隐形爬行器,只会犯错误.)

我不是在谈论像googlebot和Yahoo!这样的好爬虫.啜食.我认为机器人很好,如果它:

  1. 将自己标识为用户代理字符串中的bot
  2. 读robots.txt(并服从它)

我正在谈论坏的爬虫,躲在普通用户代理后面,使用我的带宽,从不给我任何回报.

有一些陷阱可以构建更新列表(谢谢Chris,gs):

  1. 添加仅在robots.txt中列出(标记为禁止)的目录,
  2. 添加不可见的链接(可能标记为rel ="nofollow"?),
    • style ="display:none;" 在链接或父容器上
    • 放在另一个具有更高z-index的元素下面
  3. 检测谁不懂大写,
  4. 检测谁试图发布回复但总是失败的验证码.
  5. 检测对仅POST资源的GET请求
  6. 检测请求之间的间隔
  7. 检测请求的页面顺序
  8. 检测谁(一致地)通过http请求https资源
  9. 检测谁没有请求图像文件(这与已知图像功能的浏览器的用户代理列表组合工作惊人的好)

一些陷阱将由"好"和"坏"机器人触发.你可以把它们与白名单结合起来:

  1. 它触发陷阱
  2. 它要求robots.txt
  3. 它不会触发另一个陷阱因为它服从了 robots.txt

另一个重要的事情是:
请考虑盲人使用屏幕阅读器:给人们一种联系方式,或解决(非图像)Captcha继续浏览.

有哪些方法可以自动检测试图将自己屏蔽为正常人类访问者的网络爬虫.

更新
问题不是:我如何捕获每个爬虫.问题是:如何最大限度地发现爬虫的机会.

有些蜘蛛真的很好,实际上解析和理解html,xhtml,css javascript,VB脚本等......
我没有幻想:我无法击败它们.

然而,你会惊讶于一些爬虫是多么愚蠢.愚蠢的最好例子(在我看来)是:在请求之前将所有URL强制转换为小写.

然后有一大堆爬虫只是"不够好",以避免各种陷门.

web-crawler

107
推荐指数
4
解决办法
2万
查看次数

如何在scrapy spider中传递用户定义的参数

我试图将用户定义的参数传递给scrapy的蜘蛛.任何人都可以建议如何做到这一点?

我在-a某处读到了一个参数,但不知道如何使用它.

python web-crawler scrapy

91
推荐指数
4
解决办法
5万
查看次数

TypeError:不能在re.findall()中的字节对象上使用字符串模式

我正在尝试学习如何从页面自动获取网址.在下面的代码中,我试图获取网页的标题:

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)
Run Code Online (Sandbox Code Playgroud)

我得到了这个意想不到的错误:

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, flags).findall(string)
TypeError: can't use a string pattern on a bytes-like object
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

python web-crawler python-3.x

90
推荐指数
2
解决办法
12万
查看次数

如何查找网站上的所有链接/页面

是否可以在任何给定的网站上找到所有页面和链接?我想输入一个URL并生成该站点所有链接的目录树?

我看过HTTrack,但下载了整个网站,我只需要目录树.

directory web-crawler

86
推荐指数
3
解决办法
39万
查看次数

网页抓取和网页抓取有什么区别?

抓取和网络抓取之间有区别吗?

如果存在差异,那么为了收集一些网络数据以供以后在定制搜索引擎中使用的数据库,最好的方法是什么?

search-engine web-crawler web-scraping

85
推荐指数
3
解决办法
6万
查看次数