简单爬取猫途鹰旅游网信息
[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
继续努力!