一,安装类库
需要安装(lxml,BeautifulSoup4,Requests)
1,lxml
从http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml下载,从下图中找到自己版本的。
打开命令行,输入:pip3 install wheel
等待完成。
把下载的文件存到D盘,然后打开命令行cd到你下载文件的目录,也可以在下载的文件夹下按住shift右键,选择在此处打开命令行,然后输入
pip install xxx.whl
xxx.whl就是刚才下载的文件。
2,BeautifulSoup4,Requests
用pip输入名字就可以安装。
二,开始爬虫
导入库
from bs4 import BeautifulSoup
import requests
创建一个url='http://blog.sina.com.cn/s/blog_486e105c010001s9.html'
用Requests库的get方法请求这个url得到一个返回的Response建立一个变量req储存。
resp = requests.get(url)
用BeautifulSoup来解析这个得到的返回
soup = BeautifulSoup(resp.text,'lxml')
其中resp.text是用返回的Response得到一个text格式的变量,然后会lxml一起作为参数传入BeautifulSoup函数,lxml是一种解析方式,用python的print函数打印这个soup可以看到一个html文档,可能会有中文乱码,在resp下面加上resp.encoding = 'utf-8'
就可以了。
下面开始定位要爬的元素,在网页上找到要爬的内容在上面点击鼠标右键,点击检查,在右边出现的框里点击对应的html元素,在元素上点击鼠标右键,然后依次点击copy->copy selector,这样就把元素的地址复制下来了,在ide里输入:
pp = soup.select('#sina_keyword_ad_area2 > div > p > span > font')
这里用BeautifulSoup的select方法选择定位元素,把元素位置上:后面的字母删除,这样得到是这样的一组数据。
用for循环打印出文字:
for i in pp:
print(i.get_text())
get_text()方法是用来提取文字的,如果是链接可以用get(’src’)提取,如果是一组可以用 stripped_strings。