python爬虫(一)文字爬取
功能:爬取网站信息1、文字2、图片3、视频一、安装库(如果没有安装的话)pip install urllib3pip install repip install requestspip install lxml二、网页抓取1、分析url,以笑话大全网站为例,不同的页面只是1.html的数字不一样2、查找要爬网站的请求包右键鼠标–检查选择network刷新2.html-header找到请求包,复制出
·
功能:
爬取网站信息
1、文字
2、图片
3、视频
一、安装库(如果没有安装的话)
pip install urllib3
pip install re
pip install requests
pip install lxml
二、网页抓取
1、分析url,以笑话大全网站为例,不同的页面只是1.html的数字不一样
2、查找要爬网站的请求包
右键鼠标–检查
选择network
刷新
2.html-header
找到请求包,复制出来
3、复制要爬的url
4、编写代码
爬取一页
填入请求包和要爬的url
import requests
#请求包定义
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36 Edg/88.0.705.81'
}
#请问网页
htmlurl = 'http://www.17989.com/xiaohua/2.htm'
html = requests.get(htmlurl, headers = headers)
#打印爬取的页面
print(html.text)
爬取10页
import requests
#请求包定义
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36 Edg/88.0.705.81'
}
#请问网页
for i in range(10):
htmlurl = 'http://www.17989.com/xiaohua/{}.htm'.format(i)
html = requests.get(htmlurl, headers = headers)
#打印爬取的页面
print(html.text)
三、解析网页
1、分析网页
鼠标右键网页—查看网页源代码
看网页文字看源代码对应位置
2、解析
查看标签
右键鼠标–检查
3、解析
需要解析工具,这里用BeautifulSoup以及lxml
import requests
from bs4 import BeautifulSoup
#请求包定义
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36 Edg/88.0.705.81'
}
#请问网页
htmlurl = 'http://www.17989.com/xiaohua/1.htm'
html = requests.get(htmlurl, headers = headers)
#打印爬取的页面
#print(html.text)
#解析
soup = BeautifulSoup(html.text, "lxml")
print(soup.title)#标题获取
print(soup.head)#获取头
print(soup.a)#获取a标签
print(soup.find_all('a'))#获取一个页面的所有a标签
4、定位标签
soup.select()
soup.find_all()
现在浏览器的筛选器定位
class用点".",id用井号"#"
根据class和id定位 中间用.和空格表示子
print(soup.select('title'))#获取title
print(soup.select('a'))#获取a
print(soup.select('head>titile'))#获取title
print(soup.find_all('title'))#获取title
print(soup.select('.articlelist .hd'))#获取文章class
print(soup.find_all('.articlelist .hd'))#获取文章class
print(soup.select('.articlelist .hd'))#获取一个页面的所有a标签
#print(soup.find_all(True, class='hd'))#获取class
print(soup.find_all('p', id='rightad'))#获取p标签id
print(soup.select('a[href="www.17989.com"]'))#获取
print(soup.find_all('a',href='www.17989.com'))#获取
import requests
from bs4 import BeautifulSoup
#请求包定义
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36 Edg/88.0.705.81'
}
#请问网页
htmlurl = 'http://www.17989.com/xiaohua/2.htm'
html = requests.get(htmlurl, headers = headers)
html.encoding = 'utf-8'#修改中文显示规则
#打印爬取的页面
#print(html.text)
#解析
soup = BeautifulSoup(html.text, "lxml")
title = soup.select('.articlelist .hd')
print(title)
print(title)
print(soup.pre.string)#获取标签内容"<pre><!--Hey, buddy--></pre>" # 表示网页内容
更多推荐
已为社区贡献17条内容
所有评论(0)