您的位置:首页 > 编程语言 > Python开发

python爬虫小练习之二:bs4库以及遇到的问题

2018-02-22 12:03 253 查看
简单爬取猫途鹰旅游网信息

[]https://www.tripadvisor.cn/Attractions-g60763-Activities-New_York_City_New_York.html]



内容就是这样的,爬取标题,图片地址,以及标签

下面代码

from bs4 import BeautifulSoup
import requests

url = 'https://www.tripadvisor.cn/Attractions-g60763-Activities-New_York_City_New_York.html'
wb_data = requests.get(url)#返回response  200
#print(wb_data.text)   网页源代码内容

soup = BeautifulSoup(wb_data.text,'lxml')#解析网页
titles = soup.select('div.listing_title > a')#按照定位查找 6啊,直接div加class就能找到了
images = soup.select('img[width="180"]')#按照标签属性查找,其实这个也是挺好用的
cates = soup.select('div.p13n_reasoning_v2')

for title,img,cate in zip(titles,images,cates):
data = {
'title':title.get_text(),
'img':img.get('src'),
'cate':list(cate.stripped_strings)#这个要背下!
}
print(data)


代码也没什么好说的,还没有模拟登陆

结果



不要在意细节,但是发现问题了啊,图片的地址都一样!!!

毫无疑问,网站做了反爬机制了



Ctrl + F 搜索源代码,刚才没找到,………

从图片中可以看到,是有真实地址的,但是,看源码



源码中地址全部被存在script中了,js动态调用,根据ID号或者还有其他

这个用正则应该可以找到,毕竟东西都在源代码里,跑不掉的,但是,我还不会正则

这个练习就到这里吧,浅尝辄止

为的是见识更多不一样的页面,去分析他们,每次学点小技巧就OK

继续努力!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: