第一步:获取页面(引入requests模块)
import requests link='http://tieba.baidu.com/p/5753427007' headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'} r=requests.get(link,headers=headers) print(r.text)
代码解析:上述代码获取的是贴吧的HTML代码.使用requests.get(link,headers=headers)获取网页.
- 用requests的headers伪装成浏览器访问.
- r是requess的Response回复对象,我们从中可以获取网页的内容代码
- headers的获取,网上自查
第二步:提取需要的数据(引入BeautifulSoup模块)
import requests from bs4 import BeautifulSoup link='http://tieba.baidu.com/p/5753427007' headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'} r=requests.get(link,headers=headers) soup=BeautifulSoup(r.text,'lxml') title=soup.find('h1',class_='core_title_txt').text print(title)
这里使用BeautifulSoup这个库对爬下来的网页进行解析,把HTML代码转化为soup对象,接下来使用soup.find("h1",class_="core_title_txt").text得到文章的标题。
而这里find括号里的内容是怎么的来的呢!这就需要有点前端的知识了,我们需要对这个页面的元素进行审查。
第三步:存储数据(将其存储到本地Txt文件)
import requests from bs4 import BeautifulSoup link='http://tieba.baidu.com/p/5753427007' headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'} r=requests.get(link,headers=headers) soup=BeautifulSoup(r.text,'lxml') title=soup.find('h1',class_='core_title_txt').text print(title) with open('title.txt','w',encoding='utf-8') as f: f.write(title) f.close()
文章来源: 简单爬取静态网页的代码并存为Txt文件