爬虫实例 基础教程

这篇博客介绍了Python爬虫的三种方法,包括使用requests和lxml结合抓取网页链接,解析HTML获取标题和内容,以及保存数据到文件。通过示例代码详细讲解了每种方法的实现步骤。
摘要由CSDN通过智能技术生成

1、第一种方法

  1. # 第一种方式:requests 和 lxml结合使用
  2. import requests
  3. from lxml import etree
  4. #1、拿到所有的页面链接,并使用yield返回完整的超链接
  5. def get_html(url):
  6. #     获取页面HTML
  7.     html=requests.get(url)
  8. #     使用etree格式化HTML
  9.     seq=etree.HTML(html.text)
  10.     link_list=seq.xpath('//*[@id="content"]/ul/li/a/@href')
  11.     for i in link_list:
  12.         yield "http://www.runoob.com"+i       
  13. # 2、获取详细的页面数据
  14. def get_html_link(link):
  15.     for i in link:
  16. #         获取界面
  17.         link_html=requests.get(i)
  18. #     初始化
  19.         link_seq=etree.HTML(link_html.content)
  20. #     得到标题
  21.         title=link_seq.xpath('//*[@id="content"]/h1/text()')[0]
  22. #     得到题目内容
  23.         subject=link_seq.xpath('//*[@id="content"]/p[position()>1 and position()<4]/text()')
  24.         subject_list='\n'.join(subject)
  25.         yield (title,subject_list) 
  26. # 3、保存数据
  27. def save_subject(title_subject):
  28.     with open("G:/1.txt",'a+',encoding='utf-8') as f:
  29.         for title,subject_list in title_subject:
  30.             f.write(title+'\n')
  31.             f.write(subject_list+'\n')
  32.             f.write("#"*50+'\n')
  33. # 4、函数回调
  34. def funcall(url):
  35.     link=get_html(url)
  36.     title_subject=get_html_link(link)
  37.     save_subject(title_s
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值