如何使用Python对百度搜索结果进行抓取和保存

  • 更新时间:2021-07-06 09:18:35
  • 编辑:浦琬玲
为找教程的网友们整理了相关的编程文章,网友戈蓝瑟根据主题投稿了本篇教程内容,涉及到百度、资源、搜索、如何、进行相关内容,已被570网友关注,涉猎到的知识点内容可以在下方电子书获得。

参考资料

正文内容

本页是码农之家最新发布的《如何使用Python对百度搜索结果进行抓取和保存》的详细页面,代码实例很详细,把程序员重写的代码发布到这里,希望大家能有所收获。

如何使用Python对百度搜索结果进行抓取和保存

众所周知,直接在百度上搜索关键词,很多东西都会出来,广告也会经常出现。如果不小心点进去,就要花时间退出,有些费力。那如何需要在百度上获得关于食物的相关言论文章的标题和链接该如何操作呢。其实很简单,对于Python来说,有大量可用的库,实现起来并不困难。

1、导入库

import json
import requests
from lxml import etree

2、用requests进行请求搜索

headers = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 
    (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36"
}
response = requests.get('https://www.baidu.com/s?wd=粮食&lm=1', headers=headers)

3、对获取的源代码进行整理分析,通过Xpath定位需要的资源

   r = response.text
   html = etree.HTML(r, etree.HTMLParser())
   r1 = html.xpath('//h3')
   r2 = html.xpath('//*[@class="c-abstract"]')
   r3 = html.xpath('//*[@class="t"]/a/@href')

4、把有用资源循环读取保存

for i in range(10):
    r11 = r1[i].xpath('string(.)')
    r22 = r2[i].xpath('string(.)')
    r33 = r3[i]
    with open('ok.txt', 'a', encoding='utf-8') as c:
         c.write(json.dumps(r11,ensure_ascii=False) + '\n')
         c.write(json.dumps(r22, ensure_ascii=False) + '\n')
         c.write(json.dumps(r33, ensure_ascii=False) + '\n')
    print(r11, end='\n')
    print('------------------------')
    print(r22, end='\n')
    print(r33)

相关教程

用户留言