|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我想爬取网站 http://www.xiachufang.com/explore/ 的这个部分,然后每个相应的菜名、食材、链接组成一个小列表,最后用一个大列表打印出来,见下图:
以下是我写的代码:
- import requests
- from bs4 import BeautifulSoup
- def delete_blank(string):
- for character in string:
- if character == " ":
- del character
- return string
- headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"}
- res = requests.get("http://www.xiachufang.com/explore/",headers = headers)
- print(res.status_code)
- res.encoding = "utf-8"
- html = BeautifulSoup(res.text,"html.parser")
- items = html.find("ul",class_="list").find_all("div",class_="info pure-u")
- food_list = []
- for item in items:
- food_name = item.find("p",class_="name").find("a")
- ingredients = item.find("p",class_="ing ellipisis")
- food_list.append([delete_blank(food_name.text),"http://www.xiachufang.com/explore/" + food_name["href"],ingredients.text])
- print(food_list)
复制代码
然后运行就成这样子了,为什么是个空列表呢?
- items = html.find("ul",class_="list").find_all("div",class_="info pure-u")
复制代码
因为这一项就是空的呀~~emmm对一个空列表迭代肯定还是空的
希望可以帮到你
|
|