python爬取div中段落_Python 利用爬虫爬取网页内容 (div节点的疑惑)

最近在写爬虫的时候发现利用beautifulsoup解析网页html

利用解析结果片段为:

死侍2

/ DP2

2018-05-18(美国) / 瑞恩·雷诺兹 / 乔什·布洛林 / 莫蕾娜·巴卡林 / 朱利安·迪尼森 / 莎姬·贝兹 / T·J·米勒 / 莱斯利·格塞斯 / 卡兰·索尼 / 布里安娜·希德布兰德 / 杰克·凯西 / 埃迪·马森 / 忽那汐里 / 斯蒂芬·卡皮契奇 / 兰德尔·瑞德...

7.5

(94247人评价)

我要抓取的是评分,也就是上文中:7.5

利用find_all('节点‘,class_='目标class')

在之前抓取的时候,经常将“”这个符号也写入目标class中,并且认为要加入转义符号r‘’以去消除转义

但经常返回的是空字符串

之后看到了其他博客后发现,不用加入“”也可以(若是加入“”后应该注意r''的使用)

源代码为:

importreimportrequestsfrom bs4 importBeautifulSoupdefget_HTML(url):

header= {"User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Mobile Safari/537.36"}try:

r= requests.get(url,timeout = 30,headers=header)

r.raise_for_status()

r.encoding= r.apparent_encoding #指定编码形式

returnr.textexcept:return "please inspect your url or setup"

#解析目标网页的html

defget_information_from_url(url):

text=get_HTML(url)

soup= BeautifulSoup(text,"html.parser")#解析text中的HTML

print(soup)

dls= soup.find_all('tr', class_=r''"item"'')

marks= soup.find_all('span',class_='rating_nums')#print(dls)

print(marks)

f=[]for x indls:

rel= '>\\n +'+'[\s\S]*?'+'/

pattern =re.compile(rel)

fname=pattern.findall(str(x))

f.append(fname)

f=str(f)#print(f)

fname = f.replace(' ','')

fname= fname.replace('\\n','')

fname= fname.replace('\'>','')

fname= fname.replace('/

url= "https://movie.douban.com/chart"get_information_from_url(url)

运行结果为:

[7.5, 6.8, 8.1, 8.2, 7.3, 8.2, 7.9, 7.0, 7.2, 7.1]

[[死侍2],[瞒天过海:美人计],[升级],[复仇者联盟3:无限战争],[遗传厄运],[祈祷落幕时],[燃烧],[摘金奇缘],[致所有我曾爱过的男孩],[]]

在对其中用正则表达式进行切割就好了

微信扫码订阅
UP更新不错过~
关注
  • 0
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

番言

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值