在寫爬蟲之前做了一些準備工作骑冗,首先學習了html及css赊瞬。接著直接上手requests和BeautifulSoup過程中遇到不少的坑。也慢慢熟悉了爬蟲的整個流程贼涩。這篇文章1號就開始寫了巧涧,工作原因中間擱置了一個星期,今天上手感覺生疏了很多遥倦,還是要多加練習谤绳。這次的作業(yè)“爬去糗事百科”,主要參考向右奔跑老師的文章。
在爬之前的準備工作:
1缩筛、首先找出頁面中數(shù)據(jù)的規(guī)律消略,頁面中發(fā)布的內(nèi)容都放在class="article block untagged mb15"標簽下
2、獲取每條數(shù)據(jù)中詳細的信息分布如下:
先貼一下代碼:
#! /usr/bin/python
# -*- coding:utf-8 -*-
# auther: Captain_mj
import requests
from bs4 import BeautifulSoup
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
headers = { 'User-Agent' : user_agent} #請求頭
html = requests.get('http://www.qiushibaike.com/')
soup = BeautifulSoup(html.text)
divs = soup.select('div .article.block.untagged.mb15') #從第一層標簽定位
for div in divs:
author = div.select('div > a > h2')
age = div.select('div')[0].text
print(age)
content = div.select('a > div > span')[0].text
print (content)
funny = div.select('div.stats > span.stats-vote > i')[0].text
print (funny)
comment = div.select('div.stats > span.stats-comments > a > i')[0].text
print (comment)
上面的代碼是老師寫的代碼瞎抛,看明白后自己寫了一遍疑俭。但是在判斷作者性別的時一直沒有判斷出來。
貼一下判斷性別的方法婿失,各位幫我看看是什么地方有誤(萬分感謝):
寫一遍下來钞艇,還有幾個問題沒有弄明白,先記錄下來(路過的朋友也幫忙指點下):
1豪硅、代碼中.text是什么作用哩照,暫時還不明白
2、soup = BeautifulSoup(html, 'lxml') #lxml懒浮,為什么這么用沒有弄明白
3飘弧、趴下來的數(shù)據(jù)不知該如何進行存儲(還在學習)
4、這里只記錄了Beautifulsoup爬出的方法砚著,現(xiàn)還沒有明白Xpath的用法
在這幾點弄明白后再繼續(xù)更新