Python 项目三 网络爬虫 03

本文介绍了Python网络爬虫的几个关键知识点:利用lxml库高效解析HTML/XML,json模块的常用方法,如json.load()与json.dump(),并探讨了Python多线程爬虫的实现,包括Queue队列模型。同时,详细讲解了Beautiful Soup(BS4)解析库的安装及常用语法,如如何通过选择器搜索文档内容。
摘要由CSDN通过智能技术生成


学习网址: http://c.biancheng.net/python_spider/lxml.html

一、lxml库

lxml 库能够了高效地解析 HTML/XML 文档

from lxml import etree
html_str='''<div>
    <ul>
         <li class="item1"><a href="link1.html">Python</a></li>
         <li class="item2"><a href="link2.html">Java</a></li>
         <li class="site1"><a href="c.biancheng.net">C语言中文网</a>
         <li class="site2"><a href="www.baidu.com">百度</a></li>
         <li class="site3"><a href="www.jd.com">京东</a></li>
     </ul>
</div>'''
html = etree.HTML(html_str)
# 书写xpath表达式,提取a标签内的文本信息
xpath_bds1 = '//a/text()'
# 书写xpath表达式,提取文本最终使用text()
xpath_bds2='//a/@href'
r_list1 = html.xpath(xpath_bds1)
r_list2 = html.xpath(xpath_bds2)
# result = etree.tostring(html)
# print(result.decode('utf-8'))
print(r_list1)
print(r_list2)

在这里插入图片描述

二、 json模块常用方法

方法 参数介绍 / 用途
json.loads() 将json 格式的字符串转换成 Python 对象(比如列表、字典、元组、整型以及浮点型)
json.dumps() 将 Python 对象转换成 JSON 字符串
json.dump (object,f,inden=0,ensure_ascii=False) 将 Python 对象(字典、列表等)转换为 json 字符串,并将转换后的数据写入到 json 格式的文件中 ,因此该方法必须操作文件流对象。object:Python 数据对象。f:文件流对象。indent:格式化存储数据。ensure_ascii:是否使用 ascii 编码,当数据中出现中文的时候,需要将其设置为 False。
json.load() 操作文件流对象,与 dump() 恰好相反,它表示从 json 文件中读取 JSON 字符串,并转换为 Python 对象

区别:json.load() 与 json.dump() 操作的是文件流对象ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值