from bs4 import BeautifulSoup
import requests
url = "https://harbin.cncn.com/jingdian/"
web_data = requests.get(url)
soup = BeautifulSoup(web_data.text,'lxml')
titles = soup.select('div.title > b')
peoples = soup.select('div.title > span')
imgs = soup.select('img[width="287"]')
jieshaos = soup.select('div.text_con > p')
print(titles,peoples,imgs,jieshaos)
1,from bs4 import BeautifulSoup( BeautifulSoup4的使用导入方式)
2,import requests(调用requests库)
3,url = "https://harbin.cncn.com/jingdian/"(url 是一个变量,= 为赋值 将后面的网站地址赋值给前面)
4,web_data = requests.get(url)
(调用ruquests库里边的get,也就是我们通常情况下获取网页的方式)
https://blog.csdn.net/apollo_miracle/article/details/84769941
http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
这里是库快速入门传送,(引荐博文)
执行print(web_data)
会输出<Response [200]>
表示响应正确。
5,soup = BeautifulSoup(web_data.text,'lxml')
这里出现了 response.text。表示为源网页代码
用BeautifulSoup和lxml解析库解析网站,解析出网站的html代码
print(soup)
打印结果可以看到,是全部网页的源代码,用以后的处理
6,titles = soup.select('div.title > b')div class=”item name”…属于哪一个类下,b对应要取得内容
7,imgs = soup.select('img[width="287"]')
要的是img类下,width="287"的图片
src="//c.cncnimg.cn/037/101/6f84_m.jpg" 这个才是我们要的
<img class="lazy" data-original="//c.cncnimg.cn/037/101/6f84_m.jpg" src="//c.cncnimg.cn/037/101/6f84_m.jpg" width="287" height="190" alt="哈尔滨冰雪大世界" style="display: block;">
8,jieshaos = soup.select('div.text_con > p')