python爬虫实训日志_python爬虫小白日记(一)

写到最前面哈:

现在,网上的、书上的各种爬虫教程比比皆是。但是,大家千万不要纠结到底哪个资源更好。

作为一个小白,建议大家把几个老师都看看,毕竟爬虫的方法有很多种。到时,写爬虫的时候,想起哪种就用哪种。

笔者作为一个小白,第一次自己写爬虫,写得不好,望见谅。

当然代码一定原创。

这是在鼓励我自己,也是提供给和我一样的同学一个爬虫思路。

对于新手而言,爬虫为什么那么难?就是因为对于初学者不太了解正则表达式。

笔者第一次写的过程,写的方法简单但是啰嗦那种,用正则用的比较少。

其实,写完之后,才发现第一次写的虽然麻烦,但是能让自己更好地理解一些基本函数的作用。

还有,爬虫是一个不断测试的过程,所以一定多print几次。

笔者将整个爬虫看成烹饪,在过程中多用print()方法就像不断品尝汤的味道,及时调整。

一、首先,先导入我们需要的库。

import requests

import re

from bs4 import BeautifulSoup

requests 与 BeautifulSoup的关系,应该是食材与食谱的关系:先是获取能够做菜的食材,

才能按照食谱做出饭菜。

这时又出现了正则表达式re,这儿就相当于一套非常好用的厨具。你没有厨具,光靠是食材和

食谱,可以做出美味的食物,但是过程会曲折一点。

二、爬虫的前提,就必须要有“食材”。这个时候就要我们发送“请求”,然后收到“食材”。

kv = {'User-Agent': 'Mozilla/5.0'}

r = requests.get('https://movie.douban.com/top250?start=0', headers = kv)

这里需要注意的是我们用request请求时,会发给远方服务器一个请求表头。

但有些网站会反爬虫,其中一种反爬虫最简单的方法,就是识别请求信息的头。

如果我们不更改表头,将会是:

可以很明显看出,'User-Agent': 'python-requests/2.18.4',反爬虫的网站只要识别出

requests的表头,将会禁止你的爬虫。

解决方法,我们自己更改请求的表头,用参数headers,将会是:

三、收到“食材”,我们便开始用BeautifulSoup进行简单处理,比如,洗菜。。。

1、这个时候,r只是服务器返给我们一个信号,我们要使用其中的信息,必须要用r.txt将其展现出来。

注意,这里demo = r.txt是还没有处理过的食材,而正则表达式处理的最好是最原始的食材,

所以如果用正则,要变里的文本选取最好是未经BeautifulSoup处理过的demo。

如果经过BeautifulSoup处理过的食材,再用正则表达式,会出现小问题,下面我会提到。

笔者,第一次写是很少用正则,这样的好处是更好的理解整个爬虫,毕竟正则太简单了哈哈哈

import requests

import re

from bs4 import BeautifulSoup

kv = {'User-Agent': 'Mozilla/5.0'}

r = requests.get('https://movie.douban.com/top250?start=0', headers = kv)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值