準備工作:Chrome,Python(要安裝requests,BeautifulSoup4)
安裝requests:pip install requests, pip install BeautifulSoup4, pip install jupyter.
cmd: jupyter notebook(開發在這個頁面完成)
在新開頁面中,選擇new-》Python 3.進去coding頁面。
Requests提供post, get, put, delete等方法獲取網絡資源。
一般大的門戶網站頁面內容很多,顯示內容分在不用的子頁面中。用chrome就可以找到你想要的頁面內的信息是從哪個子頁面(網址)返回來的。右鍵點擊頁面空白,inspect->networking,刷新頁面,就會看到許多鏈接。找到你想要的鏈接地址信息,進行分析。進入目標頁面,可以用下方工具頁面坐上的小箭頭,來分析頁面。
code:
#獲取網頁源文件
import requestsres=requests.get('http://www.baidu.com/')res.encoding='utf-8'print(res.text)
#解析網頁源文件
from bs4 import BeautifulSoupsoup=BeautifulSoup(res.text,'html.parser')
# text為標簽內容
print(soup.text)
#選取所有h1標簽的元素,h1是list
title=soup.select('title')print(title[0].text)
#選取所有a標簽元素
alink=soup.select('a')print(alink)for link in alink:
#獲取標簽的屬性值['href']
print(link['href'],link.text,sep=',')
#選擇alink下前5個item
alink[0:5]
#刪除最后一個item
alink[:-1]
#構造link text的list
allLink=[]for link in alink:allLink.append(link.text.strip())
# 同上功能 [link.text.strip() for link in allLink]
#鏈接所有alink下item.text, '*'為分隔符
‘*’.join(allLink)
#選擇id為lg的標簽
idTag=soup.select('#lg')print(idTag)
#選擇class為lb的標簽
clsTag=soup.select('.lb')print(clsTag)
#select返回對象仍是BeautifulSoup對象,所以可以繼續使用select方法,選擇div的class為對象集合,進行詳細分析。
#如果選擇標簽為空[],用len判斷舍去
if len(clsTag)>0:print(clsTag)
#當標簽有嵌套時,想獲得外層標簽內容和內層標簽內容,contents方法返回內容和內部嵌套標簽的列表
#.contents[0]表示外層標簽包含的內容,.strip()去除空格\t, strip('xxx')移除xxx, 類同lstrip(), rstrip()
clsTag[0].contents[0].strip()
#當要選擇嵌套標簽內的標簽時,下面語法就是選擇class=lb的標簽,標簽內span,內a的標簽
clsTag=soup.select('.lb span a')from datetime import datetimedateStr='2017年2月17日 15:56:30'
#字符串轉換成時間
dt=datetime.strptime(dateStr,'%Y年%m月%d日 %H:%M:%S')
#時間轉換成字符串
dateStr=dt.strftime('%Y-%m-%d %H:%M:%S')print(dt)print(dateStr)
#讀取JavaScript返回數據Json
import requestsres=requests.get(url)import jsonjd=json.loads(res.text.strip('var data='))jd['result']['key 1']['key 2']
#用正則表達式取出特定字符串
import retargetStr='abc-(anyname).xyz'm=re.search('abc-(.+).xyz',targetStr)m.group(0) //整個匹配字符串m.group(1) // 內部字符串anyname
這篇文章只要有Python基礎,懂得簡單方法,就可以實現數據抓取工作。
原視頻地址:
https://ke.qq.com/course/161451
#構造link text的list
看文倉www.kanwencang.com網友整理上傳,為您提供最全的知識大全,期待您的分享,轉載請注明出處。
歡迎轉載:http://www.kanwencang.com/bangong/20170219/103660.html
文章列表