爬虫小实例
1、首先创建scrapy工程,执行:
scrapy startproject search
2、创建search/search/spiders/search.py文件,内容为:
# coding:utf-8
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
import scrapy
class SearchSpider(scrapy.Spider):
name = "search"
allowed_domains = ["baidu.com"]
start_urls = [
"https://www.baidu.com/s?wd=爬虫"
]
def parse(self, response):
filename="result.html"
with open(filename,'wb') as f:
f.write(response.body)
3、修改settings.py文件:
(1)、把ROBOTSTXT_OBEY改为:
ROBOTSTXT_OBEY = False
ROBOTSTXT_OBEY表示是否遵守robots协议(被封禁的不抓取),因为我们的目的不纯,所以我们不遵守
(2)、去掉USER_AGENT前面的"#",并把USER_AGENT设置为:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/52.0.2743.116 Safari/537.36
USER_AGENT是ua,也就是发http请求时指明我是谁,因为我们的目的不纯,所以我们伪造成浏览器,
这里我是ubuntu系统中的谷歌浏览器(在浏览器中F12即能得到USER_AGENT)
(3)、为了避免抓取hang住,去掉DOWNLOAD_TIMEOUT前面的"#",并且设置为
:
DOWNLOAD_TIMEOUT = 5
4、执行:
scrapy crawl search
5、用浏览器打开新生成的本地文件result.html