关于Requests、BeautifulSoup4、etree

检查requests请求代码

res.raise_for_status()
若错误,抛出异常,停止运行

2、requests请求代码正确

res.status_code == request.code.ok

3、调用beautifulsoup

先requests.get获取网址 A = requests.get(“http”)

把对象传入bs4.BeautifulSoup B = bs4.BeautifulSoup(A.text)
获取图片时候要用二进制,用lxml解析(A.content,‘lxml’)
bs4是用来解析网址,选元素的
如果转到了图片页面,直接写入jpg文件A.content就好

再用soup.select选取元素 C = B.select(‘xxxx’) 得到的是一个列表
C[0].getText()返回其中的文本
C[0].attrs返回包含的元素属性及值
C[0].get(‘id’)获取id的属性值

4、beautifulsoup和etree的区别

beautifulSoup用法

res = requests.get("http://wwww.xxx.com")
soup = bs4.beautifulSoup(res.text,'lxml')
A = soup.select('div')
B = soup.select("#author")
#获得的是一个列表
A[1].getText()  #获取文字
B[1].attrs  #获取一个字典表

etree用法

html = requests.get("http://www.xxx.com")
html = driver.page_source
sel = etree.HTML(html)
A = sel.xpath("xxxx")
B = sel.xpath("xxxx")

更详细教程:https://www.cnblogs.com/Estate-47/p/9790305.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. requests requests是一个用于发送HTTP请求的Python库,可以发送HTTP/1.1和HTTP/2请求,支持SSL/TLS,使用简单方便,常用于爬虫、数据采集、API开发、自动化测试等场景。使用requests库发送网络请求的基本步骤为:创建请求对象,发送请求,获取响应,处理响应。 使用示例: ```python import requests response = requests.get('https://www.baidu.com') print(response.text) ``` 2. BeautifulSoup BeautifulSoup是一个Python库,用于解析HTML和XML文档,提供了一种更加Pythonic的方式来遍历文档树,并且实现了对页面的解析、搜索、遍历、修改等功能。常用于爬虫、数据挖掘、数据清洗等场景。 使用示例: ```python from bs4 import BeautifulSoup import requests response = requests.get('https://www.baidu.com') soup = BeautifulSoup(response.text, 'html.parser') print(soup.title.string) ``` 3. Scrapy Scrapy是一个Python的开源爬虫框架,具有高效、快速、稳定、灵活、可扩展等特点,支持多种数据格式的爬取和解析,包括HTML、XML、JSON等。常用于大规模、高效、自动化的数据采集和处理。 使用示例: ```python import scrapy class MySpider(scrapy.Spider): name = 'myspider' start_urls = ['https://www.baidu.com'] def parse(self, response): title = response.xpath('//title/text()').extract_first() print(title) ``` 4. lxml lxml是Python的一个XML处理库,基于C语言实现,具有高效、快速、稳定、易用等特点,支持XPath、CSS选择器等多种解析方式,常用于Web开发、爬虫、数据挖掘等场景。 使用示例: ```python from lxml import etree import requests response = requests.get('https://www.baidu.com') html = response.text tree = etree.HTML(html) title = tree.xpath('//title/text()')[0] print(title) ``` 5. pandas pandas是Python的一个数据分析库,提供了丰富的数据结构和数据分析工具,支持数据清洗、数据处理、数据统计、数据可视化等功能,常用于数据分析、数据挖掘、机器学习等场景。 使用示例: ```python import pandas as pd data = {'name': ['Tom', 'Jerry', 'Lucy'], 'age': [20, 30, 25]} df = pd.DataFrame(data) print(df) ``` 6. re re是Python的一个正则表达式库,提供了强大的正则表达式操作和匹配功能,支持文本匹配、替换、分割等功能,常用于数据清洗、文本处理等场景。 使用示例: ```python import re text = 'hello world' pattern = re.compile(r'hello') result = pattern.match(text) print(result.group()) ``` 7. selenium selenium是一个用于Web自动化测试的框架,支持多种浏览器和多种操作系统,可以模拟用户在浏览器中的操作行为,常用于Web应用测试、爬虫、自动化工具等场景。 使用示例: ```python from selenium import webdriver driver = webdriver.Chrome() driver.get('https://www.baidu.com') print(driver.title) driver.quit() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值