爬虫举例

本文通过四个实例详细介绍了Python爬虫应对不同网站反爬策略的方法,包括设置User-Agent、处理登录状态、模拟浏览器行为以及解析动态token等技巧,帮助读者更好地理解和实践网络爬虫技术。
摘要由CSDN通过智能技术生成

例1:
爬取抽屉新热榜示例:
有些网站没有任何反爬机制,如汽车之家,任何人来了都能爬取,而有些网站设置了反扒机制,如

import requests

response = requests.get('https://dig.chouti.com/')

print(response.text)

运行结果
在这里插入图片描述
不能获取到网页内容,因为伪装成浏览器时不像浏览器,而发送请求本质是发送请求头和请求体。
看看网络的请求头信息:
在这里插入图片描述
如果能像浏览器那样发送以上数据,就分别不出是代码还是浏览器,就能获取到response

import requests

response = requests.get(
    url = 'https://dig.chouti.com/',
    headers = {
   'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36'}
)  # user-agent:用什么设备发送请求

print(response.text)

运行结果
在这里插入图片描述
一般携带user-agent就行了,还有一些网站需要带hosts,或者别的,可以一个一个放到get的参数中,最后肯定能成功,因为和浏览器一模一样的了
需要获取的内容

在这里插入图片描述
所有列表显示时是模版语言做的for循环,所以每个样式都是一样的。找到一个后就可以找到列表中所有内容

import requests
from bs4 import BeautifulSoup


response = requests.get(
    url = 'https://dig.chouti.com/',
    headers = {
   'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36'}
)  # user-agent:用什么设备发送请求


soup = BeautifulSoup(response.text, 'html.parser')  # 把字符串变成对象(html标签),对象中嵌套对象,通过标签名找到该对象


content_list = soup.find(name='div', id='content-list')  # 找到第一个标签对象,只有标签对象才能往下find或find_all


item_list = content_list.find_all(name='div', attrs={
   'class':'item'})  # 列表,列表中为每个便签对象,标签对象可以使用find和find_all方法

for item in item_list:

    a = item.find(name='a', attrs={
   'class':'sho
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值