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

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

猜你喜欢

转载自blog.csdn.net/q1694222672/article/details/79346504
今日推荐