vba下数html.all找到p标签,【求教】:如何用BeautifulSoup爬取指定标签下的内容

先附上数据:

<div class="p-name p-name-type-2">

<a target="_blank" title="Apple iPhone 6 (A1589) 16GB 金色 移动4G手机" href="//item.jd.com/1217493.html" οnclick="searchlog(1,1217493,0,1,'','flagsClk=4194952')">

<em>Apple <font class="skcolor_ljg">iPhone</font> <font class="skcolor_ljg">6</font> (A1589) 16GB 金色 移动4G手机</em>

<i class="promo-words" id="J_AD_1217493"></i>

</a>

</div>

用bs想要爬取title和href里面的内容,由于初学试了好几种办法,未果。先附上代码:

第一次尝试:

#!/usr/bin/python

2 #coding:utf-8

3 from bs4 import BeautifulSoup

4 import re

5

6

7 soup = BeautifulSoup(open(‘jd.html’),”lxml”) #已经爬下的页面(上面代码为其中一段)

8 reg=u”(title=.*?\w+[\u4e00-\u9fa5]+)”

9 Res = re.compile(reg)

10 source = soup.find_all(class_ = ‘p-name p-name-type-2’,text=Res)

11 for item,nu in enumerate(source):

12 print item,nu

第二次:

#!/usr/bin/python

7 soup = BeautifulSoup(open(‘jd.html’),”lxml”)

8 source = soup.find_all(class_ = ‘p-name p-name-type-2’)

9 Res = source.body.contents[0].attrs

10 Title = Res[‘title’]

11 Link = Res[‘href’]

初学乍道有许多不理解,而且想用python做毕业设计所以还希望有高人能帮忙指点一下, 感激不尽!

注:爬取的页面为:view-source:http://search.jd.com/Search?keyword=iphone6&enc=utf-8&cu=true&utm_source=www.qujianglou.cn&utm_medium=tuiguang&utm_campaign=t_255634027_&utm_term=4ef47fa96b234c9c8bb875c9a92566da-p_340075007

你的定位有问题, 按照你的第三种改了改如下:

Ln [19]: a  =soup.find_all('div',{'class': 'p-name-type-2'})[0].find_all('a')[0]

In [20]: print a['href']

//item.jd.com/1217493.html

In [21]: print a['title']

Apple iPhone 6 (A1589) 16GB 金色 移动4G手机

另外,如果要用

BeautifulSoup

就别用正则了;正则,Bs, xpath 选择一个就好。

3431402c1bcafac7e7cfb291f3f55629.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值