爬虫第3课:二手车搜索

下面这段代码的目的是从58同城网站上爬取与特定二手车品牌相关的网页信息。它使用了urllib.request模块来发送HTTP请求,fake_useragent来生成随机的User-Agent字符串(以避免被网站识别为爬虫),urllib.parse的quote函数来对URL中的查询参数进行编码,以及time模块来添加延时。

以下是代码的详细解释:

导入所需的模块和库。

使用fake_useragent生成一个随机的User-Agent字符串,模拟浏览器的行为。

创建一个包含User-Agent的headers字典。

从用户那里获取二手车品牌作为查询关键字。

循环遍历三个页面(页码为1, 2, 3)。

构造URL,其中pn{page}是页码,key={quote(key)}是查询的关键字(经过URL编码)。
打印构造的URL。
等待3秒,避免发送过于频繁的请求。
使用Request对象发送HTTP GET请求,包含之前构造的headers。
使用urlopen打开请求,并获取响应。
打印响应的状态码(例如:200表示成功)。
注意:

代码中注释掉了print(reopen.read().decode()),这意味着它没有打印整个网页的内容。如果你想要查看网页的内容,可以取消注释。
urlopen方法默认使用GET方法发送请求。
fake_useragent库允许你生成各种浏览器的User-Agent字符串,以模拟不同的浏览器行为。这有助于避免被某些网站阻止或限制。
quote函数用于对URL中的特殊字符进行编码,确保URL的正确性。
添加sleep(3)是为了遵守网站的robots.txt规则或避免对服务器造成过大的负担。在实际应用中,你可能需要更复杂的策略来确定等待时间。
最后,提醒一点,爬虫需要遵守网站的robots.txt规则和相关法律法规,不要对网站造成过大的负担或进行恶意爬取。

Pythonit教程网(blog.pythonit.cn)

 Python全栈视频课件获取:www.dqu.cc

加速高防cdn:woaiyundun.cn

二手车搜索实例代码:

# coding:utf-8
# 时间:2024/3/16 17:49
# Pythonit教程网(blog.pythonit.cn)
# Python全栈视频课件获取:www.dqu.cc
# 加速高防cdn:woaiyundun.cn
from urllib.request import urlopen,Request
from fake_useragent import UserAgent
from urllib.parse import quote
from time import sleep
ua = UserAgent()

headers = {
    'User-Agent':ua.chrome
}

key = input('请输入二手车品牌:')
for page in range(1,4):
    url = f'https://bj.58.com/ershouche/pn{page}/?key={quote(key)}'
    print(url)
    sleep(3)
    req = Request(url,headers=headers)
    reopen = urlopen(req)
    #print(reopen.read().decode())
    print(reopen.getcode())


 

相关推荐

  1. 爬虫3二手车搜索

    2024-03-23 02:54:01       46 阅读
  2. 十八天-Scrapy爬虫框架实战(瓜子二手车

    2024-03-23 02:54:01       50 阅读
  3. 爬虫4:get请求

    2024-03-23 02:54:01       41 阅读
  4. 爬虫5:POST请求

    2024-03-23 02:54:01       42 阅读
  5. 【Python爬虫 动态爬取数据

    2024-03-23 02:54:01       55 阅读
  6. 3章 【后习题】(完整版)

    2024-03-23 02:54:01       48 阅读
  7. Python3 三十五 -- 实例四

    2024-03-23 02:54:01       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-23 02:54:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-23 02:54:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-23 02:54:01       87 阅读
  4. Python语言-面向对象

    2024-03-23 02:54:01       96 阅读

热门阅读

  1. HCIP02

    HCIP02

    2024-03-23 02:54:01      32 阅读
  2. Handler 导致的内存泄露的原因及解决方案?

    2024-03-23 02:54:01       48 阅读
  3. route和router的区别

    2024-03-23 02:54:01       49 阅读
  4. 【深度学习训练过程中一些疑问】

    2024-03-23 02:54:01       44 阅读
  5. 安卓面试题多线程31-35

    2024-03-23 02:54:01       43 阅读
  6. 安卓面试题多线程 71-75

    2024-03-23 02:54:01       41 阅读
  7. 深入理解与使用go之配置--实现

    2024-03-23 02:54:01       40 阅读
  8. LeetCode-热题100:15. 三数之和

    2024-03-23 02:54:01       43 阅读