自学笔记记录,复杂的代码不上传了,只写关键的代码,根据自己的需要改动
例:爬取百度首页的“百度一下”这几个字
需要requests模块和bs4,可以直接pip命令安装
pip install requests
pip install bs4
import requests
from bs4 import BeautifulSoup
import re
link = 'https://www.baidu.com/'
result = requests.get(link)
result.encoding=('UTF-8')#根据要爬取网页的编码填写。查询方式见图1
soup = BeautifulSoup(result.text,"lxml")
####到此已经获取了要爬取的网页数据并生成“lxml”格式以便下面进行所需数据的查找
####下面是关键,比如说,我要查找百度首页的“百度一下”
div_list_a=soup.find_all("input",type="submit")#见图二,此处注意,如果节点中有class=?,要注意class要写成class_(因为classs是python中的保留字)
print(div_list_a)
#结果
#[<input autofocus="" class="bg s_btn" id="su" type="submit" value="百度一下"/>]
#这时返回一个列表,包含需要查找的数据,这时就要用正则表达式匹配要查询的数据。此列比较简单,
result = re.findall(r"百..下",str(div_list_a[0]))
print(result)
#['百度一下']
在百度首页右键,->审查元素进入图一,>Console,在下面输入document.charset,返回网页的编码格式。
图二