【使用python爬取百度图片超简单例子】

使用python爬取百度图片超简单例子


备注:软件为pycharm,库为requests和lxml。
说明:只需将下述代码中 queryWord: 变电站word: 变电站变电站 换成其他词,比如英国,然后输入页码,程序就自动爬取相关图片,下载到 ./img 文件夹中。

代码如下:

import requests
from lxml import etree

page = input('请输入要爬取多少页:')
page = int(page) + 1
header = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
}
n = 0
pn = 1
# pn是从第几张图片获取 百度图片下滑时默认一次性显示30for m in range(1, page):
    url = 'https://image.baidu.com/search/acjson?'

    param = {
        'tn': 'resultjson_com',
        'logid': '6918515619491695441',
        'ipn': 'rj',
        'ct': '201326592',
        'is': '',
        'fp': 'result',
        'queryWord': '变电站',
        'cl': '2',
        'lm': '-1',
        'ie': 'utf-8',
        'oe': 'utf-8',
        'adpicid': '',
        'st': '-1',
        'z': '',
        'ic': '',
        'hd': '',
        'latest': '',
        'copyright': '',
        'word': '变电站',
        's': '',
        'se': '',
        'tab': '',
        'width': '',
        'height': '',
        'face': '0',
        'istype': '2',
        'qc': '',
        'nc': '1',
        'fr': '',
        'expermode': '',
        'force': '',
        'cg': 'girl',
        'pn': pn,  # 从第几张图片开始
        'rn': '30',
        'gsm': '1e',
    }
    page_text = requests.get(url=url, headers=header, params=param)
    page_text.encoding = 'utf-8'
    page_text = page_text.json()
    info_list = page_text['data']
    del info_list[-1]
    img_path_list = []
    for i in info_list:
        img_path_list.append(i['thumbURL'])

    for img_path in img_path_list:
        img_data = requests.get(url=img_path, headers=header).content
        img_path = './img/' + str(n) + '.jpg'
        with open(img_path, 'wb') as fp:
            fp.write(img_data)
        n = n + 1

    pn += 29

参考链接: https://blog.csdn.net/qq_52907353/article/details/112391518.

### 回答1: 可以使用Python中的requests和BeautifulSoup库来爬取百度热榜。下面是一个简单的代码示例: ```python import requests from bs4 import BeautifulSoup url = 'http://top.baidu.com/buzz?b=1&fr=topindex' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 获取热榜列表 hot_list = soup.find_all('a', class_='list-title') # 输出热榜标题 for hot in hot_list: print(hot.text) ``` 这个代码会输出当前百度热榜的前20个热点话题的标题。你可以根据需要对代码进行修改来获取更多信息。 ### 回答2: Python可以使用第三方库如BeautifulSoup和Requests实现对百度热榜的爬取。首先,我们需要安装这些库,可以通过pip install命令在命令行中安装。 然后,我们需要导入这些库,以便在Python脚本中使用。导入BeautifulSoup和Requests库后,我们可以使用requests库发送HTTP请求,获取百度热榜的网页内容。在请求中,我们可以使用用户代理,以防止被服务器阻止。 接下来,我们可以使用BeautifulSoup库对网页内容进行解析。我们可以找到热榜网页中包含热榜内容的HTML标签,并使用BeautifulSoup的一些方法来提取这些内容。例如,我们可以使用find方法根据标签名或属性来查找特定的元素,然后使用text属性来提取该元素的文本内容。 最后,我们可以将提取到的热榜内容保存到一个文件中,以便后续的分析和处理。我们可以使用Python的文件操作方法,如open和write,来创建并写入文件。 总结起来,Python爬取百度热榜的过程包括发送HTTP请求获取网页内容、使用BeautifulSoup解析网页内容、提取热榜信息,并将其保存到文件中。这样,我们就可以方便地获取和处理百度热榜的数据了。 ### 回答3: 要使用Python爬取百度热榜,可以利用Python的网络爬虫库和数据处理库来实现。以下是一个简单Python爬取百度热榜的示例代码: ```python import requests from bs4 import BeautifulSoup url = 'https://top.baidu.com/board?tab=realtime' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') rankings = soup.find_all('a', class_='text-link') for ranking in rankings: title = ranking.text.strip() print(title) ``` 首先,我们导入`requests`和`BeautifulSoup`库,`requests`用于发送HTTP请求,`BeautifulSoup`用于解析HTML。然后,我们指定百度热榜的URL,并发送GET请求获取网页内容。 使用BeautifulSoup解析网页内容后,我们可以通过查找HTML中特定的标签和class来提取我们想要的信息。在这个例子中,百度热榜的热搜榜单标题使用`<a>`标签和`text-link`类来定义,因此我们使用`soup.find_all()`方法找到所有符合这一条件的元素。 最后,通过遍历这些元素,我们使用`.text`属性获取标题文本,并使用`.strip()`方法去除字符串两端的空格,最后将结果打印出来。 当然,这只是一个简单的示例,实际的爬虫项目可能需要更多的处理和调整,例如处理网页反爬虫机制、保存数据到数据库等。但是以上代码提供了一个基本的框架,用于理解如何使用Python爬取百度热榜的基本步骤。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值