您的位置:首页 > 理论基础 > 计算机网络

《用python写网络爬虫》笔记1

2017-02-22 10:01 113 查看
1.为了下载更加可 靠 , 我们需要 控 制用户代理的设定。 下 面的代码对download 函数 进行了修改, 设定了一个 默认的用户代理 “ wsw p ” ( 即 Web

Scraping with Python 的首字母缩写 )。

 

2.为了解析网站 地图 , 我们将会使用一个简单的

正则表达式 , 从 < loc > 标签中提 取 出URL。

 

3.链接爬虫将使用正则表达式来确定需要下载哪

些页面

 

4.re. IGNORECASE:无视大小写

 

5.为了让urllib2 能够定位网页, 我们需要将链接转换为绝对链接的 形式, 以便包含定位网 页的所有 细节。

Import urlparse

Urlparse.urljoin(seed_url,index)

 

6.要想避免重复爬取相同 的 链接, 我 们 需要记录哪些链接己经 被爬取过。Set具有无序不重复的特点。

Seen = set(crawl_queue)

If link not in seen:

 Seen.add(link)

 Crawl_queue.append(link)

 

7.Robots.txt

需要解析robots.txt 文件,以避免下载禁止爬取 的 URL

>>>Import robotparser

>>>rp =robotparser.RobotFileParser()

>>>rp.set_url('http://example.webscraping.com/robots.txt')

>>> rp.read()

>>> url ='http://example.webscraping.com'

>>> user_agent = 'BadCrawler'

>>> rp.can_fetch(user_agent, url)

False

集成到爬虫之中,

if rp.can_fetch(user_agent,url):

         …

else:’

         print‘Blocked by robots.txt:’, url

 

8.代理

学习requests 模块设置自己的opener.open(request)

 

9.下载限速

为了降低这些风险,我们可以在两次下载之间添加延 时 , 从而对爬 虫 限速。Class throttle
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: