Python爬虫--解析页面获取数据
2020-11-19 本文已影响0人
GG_lyf
前言
在学了java的爬虫之后,我就有了一种更加想了解爬虫的想法,虽然用java搞爬虫很舒服,但是写的东西是真的多。于是乎,py
,让我对爬虫有了一个新的认识。最近哥几个想做个oj
在官网上。于是乎,就想用py试试解析静态页面。
开搞
1.安装requests
和bs4
,(前提是已经安装了py
)
cmd --> pip install requests --> 静等安装成功 --> pip install bs4--> 静等安装成功(bs4里面有可以解析html文件的工具,叫BeautifulSoup)
2.打开PyCharm
(想要破解版的,我之后会出一个博客,我用的是2019.3的,曾经也用过2020.1的,就是控制台的乱码bug解决了好长时间没搞定,2020.2的破解太难找了,果断不用)
3.新建一个项目,新建一个.py
文件
4.引入requests
和BeautifulSoup
import requests
from bs4 import BeautifulSoup
5.打开想要解析的网站,右键查看网页源代码,会发现所有的东西都在网页上有
这个
源码
- 伪装浏览器
url = "http://go.helloworldroom.com:8072/problem/4"
headers = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,'
'application/signed-exchange;v=b3;q=0.9',
'accept-encoding': 'gzip, deflate',
'accept-language': 'zh-CN,zh;q=0.9',
'cookie': 'PHPSESSID=5vgtp2uppiu3cnc1vqj8ge4t06; uoj_source_code_form_group_preferred_upload_type=advanced',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/86.0.4240.75 Safari/537.36 '
}
7.用requests
发送请求,再转码
get_one = requests.get(url=url , params=headers)
s = str(get.content, "utf-8")
打印之后
8.解析页面
soup = BeautifulSoup(s_one, 'lxml')
打印之后
注意这里,有个<article>标签,独一无二
9.用选择器找元素进行解析
select = soup.select("article > *")
打印结果
10.解析这个list
,用for
循环啊
'''
for i in select:
print(i)
'''
11.到此,网页想要的东西已经拿到了,但是想保存成文档或搞进数据库,我还没学,哈哈哈哈...