鱼C论坛

 找回密码
 立即注册
查看: 1069|回复: 1

[已解决]用bs4模块爬取数据得不到我想要的结果!!!麻烦帮我找一下原因!!

[复制链接]
发表于 2021-9-5 22:05:09 | 显示全部楼层 |阅读模式
1鱼币
我想得到的数据是  图片中 被标记的内容(也就是 上面的地点 :北京,上海,.....等)
# 1.拿到页面源代码
# 2.使用bs4进行解析。拿到数据
import requests
from bs4 import BeautifulSoup

url = "https://movie.douban.com/cinema/nowplaying/yibin/"
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"}
resp = requests.post(url,headers=headers)
# 解析数据
#1.把页面源代码交给 BeautifulSoup 进行处理,生成 bs 对象
# page = BeautifulSoup(resp.text) #这样写会出现警告,因为 它会把程序当成 HTML 来处理,可能会有一些问题。

page = BeautifulSoup(resp.text,"html.parser") #指定html解析器    解决方法:就是你告诉它 这程序就是 html 就行了,它就不会乱猜了。
# 2.从bs 对象中查找数据
# find(标签,属性=值):  谁第一个被找到,就不找了,就一个数据
# find_all(标签,属性=值): 会吧你想要的数据都找给你,是一堆的数据
# table = page.find('li',class_="poster") #class 是python的关键字   可以在属性前面加 _ 下划线,来区别python中的关键字和html中的属性。
table = page.find('div',attrs={'class':'cities-list-item hot'}) #和上面一行的,一样的意思,此时可以避免python中的
# trs = table.find_all('span')
lst=[]
for tr in table:
    tds = tr.find("a")
    lst.append(tds)

print(lst)



得到的每个数据都出现了 -1 这是什么原因啊??我不太目标。就是因为出现了那个-1 这条代码 lst.append(tds.text)  是回报错的!!!

这是列表中的数据(也就是最后的得到的结果):[-1, <a class="city-item" href="javascript:;" id="108288" uid="beijing">北京</a>, -1, <a class="city-item" href="javascript:;" id="108296" uid="shanghai">上海</a>, -1, <a class="city-item" href="javascript:;" id="118281" uid="guangzhou">广州</a>, -1, <a class="city-item" href="javascript:;" id="118282" uid="shenzhen">深圳</a>, -1, <a class="city-item" href="javascript:;" id="118318" uid="chengdu">成都</a>, -1, <a class="city-item" href="javascript:;" id="118172" uid="hangzhou">杭州</a>, -1, <a class="city-item" href="javascript:;" id="118254" uid="wuhan">武汉</a>, -1, <a class="city-item" href="javascript:;" id="108309" uid="chongqing">重庆</a>, -1, <a class="city-item" href="javascript:;" id="118159" uid="nanjing">南京</a>, -1, <a class="city-item" href="javascript:;" id="118237" uid="zhengzhou">郑州</a>, -1, <a class="city-item" href="javascript:;" id="118371" uid="xian">西安</a>, -1, <a class="city-item" href="javascript:;" id="118163" uid="suzhou">苏州</a>, -1, <a class="city-item" href="javascript:;" id="118267" uid="changsha">长沙</a>, -1, <a class="city-item" href="javascript:;" id="108289" uid="tianjin">天津</a>, -1, <a class="city-item" href="javascript:;" id="118200" uid="fuzhou">福州</a>, -1, <a class="city-item" href="javascript:;" id="118183" uid="hefei">合肥</a>, -1, <a class="city-item" href="javascript:;" id="118220" uid="jinan">济南</a>, -1, <a class="city-item" href="javascript:;" id="118123" uid="shenyang">沈阳</a>, -1, <a class="city-item" href="javascript:;" id="118221" uid="qingdao">青岛</a>, -1, <a class="city-item" href="javascript:;" id="118146" uid="haerbin">哈尔滨</a>, -1, <a class="city-item" href="javascript:;" id="118201" uid="xiamen">厦门</a>, -1, <a class="city-item" href="javascript:;" id="118174" uid="wenzhou">温州</a>, -1, <a class="city-item" href="javascript:;" id="118124" uid="dalian">大连</a>, -1, <a class="city-item" href="javascript:;" id="118297" uid="dongguan">东莞</a>, -1, <a class="city-item" href="javascript:;" id="118173" uid="ningbo">宁波</a>, -1]
最佳答案
2021-9-5 22:05:10
import requests
from bs4 import BeautifulSoup

url = "https://movie.douban.com/cinema/nowplaying/yibin/"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"}
r = requests.get(url, headers=headers)
page = BeautifulSoup(r.text, "html.parser")
result = page.find_all('a', attrs={'class': 'city-item'})
for i in result:
    print(i.string)
屏幕截图 2021-09-05 215258.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-5 22:05:10 | 显示全部楼层    本楼为最佳答案   
import requests
from bs4 import BeautifulSoup

url = "https://movie.douban.com/cinema/nowplaying/yibin/"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"}
r = requests.get(url, headers=headers)
page = BeautifulSoup(r.text, "html.parser")
result = page.find_all('a', attrs={'class': 'city-item'})
for i in result:
    print(i.string)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 10:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表