|
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]
- 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)
复制代码
|
-
|