解析网页内容

首先,在py3.6的环境下,先解析网页源代码(注意编码格式):
from bs4 import BeautifulSoup
with open("C:/Users/Administrator/Desktop/award/index.html",'r',encoding= 'utf-8') as web_data:
Soup = BeautifulSoup(web_data,'lxml')
print(Soup)

爬取网络中的页面元素内容:
出现nth-of-type错误,则需要进行修改:
titles = soup.select('#serOnline-container320 > div > div:nth-child(1) > a')改为
titles = soup.select('#serOnline-container320 > div > div:nth-of-type(1) > a')

爬取标题:
在浏览器中查看所选标题的代码,看属于哪一个div下的哪一个class下的哪一个标签,以div.[class]的格式对标题进行爬取。代码如下:
from bs4 import BeautifulSoup
import requests
url = 'http://www.hsdjixie.com/'
web_data = requests.get(url)
soup = BeautifulSoup(web_data.text,'lxml')
titles = soup.select('div.serOnline-list-v > a')
print(titles)

爬取图片:
在浏览器中查看所选图片的代码,看img标签下的宽/高是多少,以img['img[width="90"]']的格式对图片进行爬取。代码如下:
imgs= soup.select('img[width="90"]')
print(imgs)

爬取标签,比如图片名或一些文字介绍,依旧查看是什么div下的,此div是父类div,div.class,代码如下:
cates = soup.select('div.parametersDiv')
print(cates)

将爬取后的信息制作成字典:
for title,cates in zip(titles,cates):
data = {
'title':title.get_text(),
'cate':list(cates.stripped_strings),
}
print(data)

headers是构造提交给网页的信息

headers = {
'User-Agent' : ' ',
'Cookie' : ' ',
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容