python爬虫文件对应的路径_Python爬虫的学习路径

学习爬虫最需要什么?兴趣+一套完整的学习指导

兴趣这是教不来的,必需自备。

然后就是爬虫完整的学习路径了,很长,很长,上图说话

从脚本爬虫学习并过渡到Scrapy框架的整体流程【从左往右、至上往下】

适合人群:学Scrapy必须有Python基础【没基础都有点瞎扯,除非你是学洗能力强、理解能力强】

脚本爬虫部分爬虫第一步:写一个最简单的脚本

极简爬虫脚本就是requests+lxml,分析一个页面,然后通过xpath获取数据,首先第一步,对url发起请求并拿到响应:

import requests

response = requests.get('http://www.spbeen.com/')

print(response.status_code)

# 输出结果200

输出结果之后,作为新手入门,最好是看到返回的结果是什么样子的,所以花点时间炮制了如下函数:

# response是resquests请求之后返回的结果

def requests_view(response):

# Python内置库,不需要安装

import webbrowser

request_url = response.url

base_url = '

'%(request_url)

base_url = base_url.encode()

content = response.content.replace(b"

",base_url)

# 新建临时文件

tem_html = open('tmp.html', 'wb')

tem_html.write(content)

tem_html.close()

webbrowser.open_new_tab("tmp.html")这里用到的知识点,是web标记语言里面的base标签, 标签为页面上的所有链接规定默认地址或默认目标,所以页面的静态样式和图片文件可以连接原路径,页面显示效果和原网页可以保持一致。

完整代码:

import requests

response = requests.get('http://www.spbeen.com/')

# print(response.status_code)

def requests_view(response):

import webbrowser

request_url = response.url

base_url = '

'%(request_url)

base_url = base_url.encode()

content = response.content.replace(b"

",base_url)

tem_html = open('tmp.html', 'wb')

tem_html.write(content)

tem_html.close()

webbrowser.open_new_tab("tmp.html")

requests_view(response)

页面效果对比,如下图【重点看浏览器地址栏,一个本地临时文件,一个网络URL地址】:

接下来就是使用xpath来提取数据,这里墙裂推荐Firefox浏览器+Firebug插件+Firepath插件,找一个网页中的元素,自动生成xpath路径,例如检索Xpath教程,如下图:

然后就得到了这样一串xpath:

.//*[@id='content_show']/div/div[1]/div[1]/div[1]/h3/a

# 解析出文本,只需要在后面加上text()函数

.//*[@id='content_show']/div/div[1]/div[1]/div[1]/h3/a/text()

最后通过xpath来解析response的正文部分,代码和结果如下:

import requests

response = requests.get('http://www.spbeen.com/')

from lxml.etree import HTML

html = HTML(response.content)

a_str = html.xpath(".//*[@id='content_show']/div/div[1]/div[1]/div[1]/h3/a/text()")

print(a_str)

# 结果:['xpath教程']

极其简单的爬虫脚本就这么完成,还带一个可视化函数,查看结果用的

确切来说,上面这段脚本算不上爬虫,它只是一个request+lxml+webbrowser的一个脚本,从写死的网址获取一个指定位置的字符串

完成了简单爬虫,然后可以试试大批量的获取信息了爬虫第二步:获取大批量数据

对目标的租房网站,进行一个爬取,从中本页的所有数据并提取下一个抓取的数据页面,爬爬爬~

数据储存用到的数据库是sqlite,简单方便,python自带驱动。数据入库操作,常用就是sql语句了。不过更好用的是ORM【对象关系映射】,只要新增类字段,就可以了自动创建新的表格字段,ORM用的sqlalchemy【Pocoo出品,必属精品】爬虫第三步:可视化数据

数据已经入库,然后怎么查看数据呢?jupyter+pygal+sqlalchemy,直接在网页上查看数据库数据,画出你想看的数据表格

当然制图效果不会那么顺畅,windows自身是缺失各种库【习以为常】,安装也不方便。开发还是*unix方便。当然win有解决方案,从Ipython中拿Display函数可以直接显示在Jupyter中。【同样有Ubuntu下的开发视频】爬虫第四步:异常处理和代理

异常处理:脚本爬虫的缺点就是容易bug,因为网页是很不规范的,出错概率极大,容易出错的代码,必须用try来包裹

代理:有USER_AGENT和代理IP

不同的web网页对不同USER_AGENT会响应不同的网页结构和数据,分析html的规则也不能是一套可以解决的。

代理IP的作用主要是解决防爬,当然防爬措施很多,不同网站有不同的措施,不能一概而论

第一步:了解整个Scrapy运行流程

上一个用了很多很多遍的图,描述整体框架

了解之后呢?创建自己的爬虫项目,亲自体验下这个流程第二步:创建Scrapy项目

这整个流程,可以参考基础的Scrapy项目,链接:免费Scrapy课程

从发布到现在已经2-3个月了,只给自己认识的4个人宣传了下,未做其他任何宣传。参加课程的,都是逛网易云课堂看到,好评不少~

免费课程基本步骤:熟悉Scrapy Shell

创建Scrpay项目

创建基础爬虫

分析目标网站,获取数据

自定义管道文件,sql语句入库

用可视化sql工具查看数据,OVER~

简单的介绍了Scrapy的基础流程,涉及爬虫文件和管道文件,有兴趣可以看看哈~第三步:创建CrawlSpider的Scrapy项目

同样是内置的爬虫模板,但是CrawlSpider和BasicSpider是不同的,CrawlSpider适合爬取URL规律网站,BasicSpider是最通用的。CrawlSpider定义了一些规则(rule)来提供跟进link的方便的机制。

也许该spider并不是完全适合您的特定网站或项目,但其对很多情况都使用。

熟悉正则表达式,分析网站的URL链接。正则是非常强大的,主流的编程语言都支持,编程人员必备。

第四步:内置的管道文件和重构

使用Scrapy框架内部的图片或者文件管道,可以下载目标网站的几十GB图片,不是难题。

写不下去了,技术人员不太会写文章,也不太会运营和宣传~有时间日后再写

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值