首先找到小米8商品的链接:https://item.jd.com/7437788.html
然后找到其配置信息的标签,我们找到其配置信息的标签为 <div class="ptable">
然后再分析其配置信息的页面的规律,我们发现都是dl中包含了dt和dd,而一个dt对应的一个dd,dt对应的是参数,dd对应的是参数具体的值
下面是源代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
import requests
from bs4 import beautifulsoup
from pandas import series
from pandas import dataframe
response = requests.get( "https://item.jd.com/7437788.html" )
html = response.text
soup = beautifulsoup(html, "html.parser" )
divsoup = soup.find( "div" ,attrs = { "class" , "ptable" }) ##找到其配置信息的标签
data = dataframe(columns = [ "参数" , "值" ]) #定义一个二元的dataframe
dls = divsoup.find_all( "dl" )
for dl in dls:
dts = dl.find_all( "dt" )
dds = dl.find_all( "dd" )
if len (dts) = = len (dds):
for i in range ( len (dts)):
f = dts[i].gettext();
p = dds[i].gettext();
data = data.append(series([f,p],index = [ "参数" , "值" ]),ignore_index = true);
print (data)
|
这是最终抓取到的配置信息,一共有64行,这里我就不一一列举出来了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_36119192/article/details/83050274