技术文章 > Python技术 >  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)
免费视频教程
本教程部分素材来源于网络,版权问题联系站长!
相关文章
  python中Haar级联是什么?
  python日志记录器的配置
  python中如何在静态图像中人脸检测?
  python中如何配置Logging处理器
  python中OpenCV的人脸检测功能
  python基于LBPH的人脸识别操作
相关视频章节
  Python应用领域
  五分钟装好Python解释器
  用python操作文件的3种模式
  ipython高级功能
视频教程分类