我们这里主要是利用requests模块和bs4模块进行简单的爬虫的讲解,让大家可以对爬虫有了初步的认识,我们通过爬几个简单网站,让大家循序渐进的掌握爬虫的基础知识,做网络爬虫还是需要基本的前端的知识的,下面我们进行我们的爬虫讲解
在进行实战之前,我们先给大家看下爬虫的一般讨论,方便大家看懂下面的实例
一、爬汽车之家
汽车之家这个网站没有做任何的防爬虫的限制,所以最适合我们来练手
1、导入我们要用到的模块
importrequestsfrombs4importBeautifulSoup2、利用requests模块伪造浏览器请求
#设置解码的方式res.encoding="gbk"4、把请求返回的对象,传递一个bs4模块,生成一个BeautifulSoup对象
soup=BeautifulSoup(res.text,"html.parser")5、这样,我们就可以使用BeautifulSoup给我们提供的方法,如下是查找一个div标签,且这个div标签的id属性为auto-channel-lazyload-atricle
#find是找到相匹配的第一个标签div=soup.find(name="div",attrs={"id":"auto-channel-lazyload-article"})#这个div是一个标签对象6、findall方法,是超找符合条件的所有的标签,下面是在步骤5的div标签内查找所有的li标签
li_list=div.find_all(name="li")7、查找li标签中的不同条件的标签
二、爬抽屉
这里我们看下如何爬抽屉
1、首先抽屉有做防爬虫的机制,我们在访问的时候必须要加一个请求头
print(chouti.cookies.get_dict())#{'gpsd':'ab141f7a741144216429b6e901da5f34','JSESSIONID':'aaaNxWlWjLLKU9CGXDyNw'}3、转换页面为一个BeautifulSoup对象
#将页面转换成一个BeautifulSoup的对象,就可以使用BeautifulSoup的方法了soup=BeautifulSoup(chouti.text,"html.parser")news_list=soup.find_all(name="div",attrs={"class":"item"})fornewsinnews_list:compont=news.find(name="div",attrs={"class":"part2"})print(compont.get("share-title"))
4、下面我们看下如何登陆抽屉
首先我们先通过get方式访问主页
最后登陆成功后,我们来实现一个点赞的操作,这里要注意
爬抽屉所有的代码如下
github的登陆是form表单做的,所以我们在登陆github的时候需要把cookies和crsf_token都带上
1、访问github的首页
3、post方式访问登陆页面,携带上用户名和密码,token和cookies
四、爬拉钩网
最后我们来爬一下拉勾网
1、首先get方式访问拉勾网的首页
data很简单,我们直接抓包就可以拿到
主要是请求头中的数据是怎么来的,下面这2个是在我们请求登陆的页面中返回的,由于这2项在script标签中,我们只能通过正则表达式来匹配获取
最后是爬拉勾网的所有的代码
以上所述是小编给大家介绍的python爬虫系列之初识爬虫详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!