python爬蟲學(xué)習(xí)-day7-實戰(zhàn)

目錄

  1. python爬蟲學(xué)習(xí)-day1
  2. python爬蟲學(xué)習(xí)-day2正則表達(dá)式
  3. python爬蟲學(xué)習(xí)-day3-BeautifulSoup
  4. python爬蟲學(xué)習(xí)-day4-使用lxml+xpath提取內(nèi)容
  5. python爬蟲學(xué)習(xí)-day5-selenium
  6. python爬蟲學(xué)習(xí)-day6-ip池
  7. python爬蟲學(xué)習(xí)-day7-實戰(zhàn)

**4.1 ** 實戰(zhàn)大項目

  1. 實戰(zhàn)大項目:模擬登錄丁香園鳖轰,并抓取論壇頁面所有的人員基本信息與回復(fù)帖子內(nèi)容蕴侣。
  2. 丁香園論壇:http://www.dxy.cn/bbs/thread/626626#626626
  3. 參考資料:https://blog.csdn.net/naonao77/article/details/88316754 (Task7的參考資料辱志,任務(wù)結(jié)束之后再發(fā)出來)

示例代碼


from selenium import webdriver
import time
from lxml import etree


class scrapy07(object):
    def __init__(self):
        self.headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36'}
        self.login_url = 'https://auth.dxy.cn/accounts/login?service=http://www.dxy.cn/bbs/index.html'

    def get_login(self):
        browser = webdriver.Chrome()
        browser.get(self.login_url)
        time.sleep(3)
        # 切換登錄頁面
        el = browser.find_element_by_id('j_loginTab1')
        # el2 = browser.find_element_by_name('loginType')
        # el3 = browser.find_element_by_class_name('login-wp')
        # el4 = browser.find_element_by_tag_name('div')
        el5 = browser.find_element_by_xpath('//div[@id="j_loginTab1"]')
        # div_els = browser.find_elements_by_tag_name('div')
        browser.execute_script('document.querySelector("#j_loginTab1").style.display="none"')
        time.sleep(1)
        browser.execute_script('document.querySelector("#j_loginTab2").style.display="block"')
        time.sleep(1)
        # login
        username = browser.find_element_by_name('username')
        username.clear()
        username.send_keys('username')
        password = browser.find_element_by_name('password')
        password.clear()
        password.send_keys('password')
        browser.find_element_by_xpath('//div[@class="form__button"]/button').click()
        #  先睡會,然后登錄之后再次請求就可以不用登錄了
        time.sleep(10)

        #  獲取cookies
        # cookies可以查看一下挽封,如果客戶端不需要就注釋掉
        cookies = browser.get_cookies()
        # print(cookies)
        # print('------------------')
        # for i in cookies:
        #     print(i)
        cookie_dict = {i['name']: i['value'] for i in cookies}
        # print(cookie_dict)

        # 瀏覽指定論壇
        browser.get('http://www.dxy.cn/bbs/thread/626626#626626')
        html = browser.page_source
        tree = etree.HTML(html)
        names = tree.xpath('//div[@class="auth"]/a/text()')
        create_times = tree.xpath('//div[@class="post-info"]/span/text()')
        del create_times[1]
        del create_times[1]
        contents = tree.xpath('//td[@class="postbody"]')
        result = []
        with open('scrapy_content.csv', 'w+', encoding='utf-8') as f:
            for i in range(0, len(names)):
                if names[i].strip() == 'dxy_3n8hnhf2':
                    #     自己就回復(fù)一下子
                    #  這塊有點擊驗證已球,先打卡再說
                    break
                dictTmp = {'name': names[i].strip(), 'create_time': create_times[i].strip(),
                           'content': contents[i].xpath('string(.)').strip()}
                print(dictTmp)
                print('*' * 80 + "\n")
                f.writelines([names[i].strip(), create_times[i].strip(), contents[i].xpath('string(.)').strip()])
                f.write('\n')
                f.writelines('*' * 80)
                f.write('\n')
        # return browser


if __name__ == '__main__':
    sprider = scrapy07()
    br = sprider.get_login()

結(jié)果:

{'name': '樓醫(yī)生', 'create_time': '2003-11-17 19:12', 'content': '我遇到一個“怪”病人,向大家請教辅愿。她智亮,42歲。反復(fù)驚嚇后暈厥30余年点待。每次受響聲驚嚇后發(fā)生跌倒阔蛉,短暫意識喪失。無逆行性遺忘亦鳞,無抽搐馍忽,無口吐白沫棒坏,無大小便失禁。多次跌倒致外傷遭笋。嬰兒時有驚厥史坝冕。入院查體無殊喂窟。ECG、24小時動態(tài)心電圖無殊;頭顱MRI示小軟化灶厦酬;腦電圖無殊。入院后有數(shù)次類似發(fā)作。請問該患者該做何診斷筹裕,還需做什么檢查,治療方案怎樣?'}
********************************************************************************

{'name': 'lion000', 'create_time': '2003-11-17 21:02', 'content': '從發(fā)作的癥狀上比較符合血管迷走神經(jīng)性暈厥,直立傾斜試驗?zāi)軈f(xié)助診斷负拟。在行直立傾斜實驗前應(yīng)該做常規(guī)的體格檢查、ECG衅澈、UCG拭抬、holter和X-ray胸片除外器質(zhì)性心臟病。貼一篇“口服氨酰心安和依那普利治療血管迷走性暈厥的療效觀察”作者:林文華 任自文 丁燕生http://www.ccheart.com.cn/ccheart_site/Templates/jieru/200011/1-1.htm'}
********************************************************************************

{'name': 'xghrh', 'create_time': '2003-11-17 21:45', 'content': '同意lion000版主的觀點:如果此患者隨著年齡的增長,其發(fā)作頻率逐漸減少且更加支持,不知此患者有無這一特點。入院后的HOLTER及血壓監(jiān)測對此患者只能是一種安慰性的檢查,因在這些檢查過程中患者發(fā)病的機會不是太大撒穷,當(dāng)然不排除正好發(fā)作的情況入录。對此患者應(yīng)常規(guī)作直立傾斜試驗凡桥,如果沒有誘發(fā)出,再考慮有無可能是其他原因所致的意識障礙迟蜜,如室性心動過速等,但這需要電生理尤其是心腔內(nèi)電生理的檢查兢交,畢竟是有一種創(chuàng)傷性方法晴裹。因在外地泌绣,下面一篇文章可能對您有助苗沧,請您自己查找一下。心理應(yīng)激事件誘發(fā)血管迷走性暈厥1例 飒焦,楊峻青休雌、吳沃棟驰凛、張瑞云胚宦,中國神經(jīng)精神疾病雜志卜壕, 2002 Vol.28 No.2'}
********************************************************************************

{'name': 'keys', 'create_time': '2003-11-17 21:52', 'content': '該例不排除精神因素導(dǎo)致的,因為每次均在受驚嚇后出現(xiàn)跃洛。當(dāng)然终议,在作出此診斷前,應(yīng)完善相關(guān)檢查细燎,如頭顱MIR(MRA),直立傾斜試驗等璧瞬。'}
********************************************************************************

csv結(jié)果:


csv

PS: 若你覺得可以、還行、過得去、甚至不太差的話生逸,可以“關(guān)注或點贊”一下迂苛,就此謝過!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鼓择,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子呐能,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件夷野,死亡現(xiàn)場離奇詭異荣倾,居然都是意外死亡,警方通過查閱死者的電腦和手機舌仍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門铸豁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來灌曙,“玉大人节芥,你說我怎么就攤上這事◎纪眨” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵颖杏,是天一觀的道長坛芽。 經(jīng)常有香客問我,道長咙轩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任赔嚎,我火速辦了婚禮胧弛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘结缚。我一直安慰自己,他們只是感情好红竭,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著最冰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪暖哨。 梳的紋絲不亂的頭發(fā)上凰狞,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機與錄音赡若,去河邊找鬼。 笑死黍聂,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的产还。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼雕沉,長吁一口氣:“原來是場噩夢啊……” “哼去件!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起尤溜,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤宫莱,失蹤者是張志新(化名)和其女友劉穎丈攒,沒想到半個月后授霸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡显设,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年辛辨,在試婚紗的時候發(fā)現(xiàn)自己被綠了瑟枫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡慷妙,死狀恐怖允悦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情澡屡,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布绩蜻,位于F島的核電站室埋,受9級特大地震影響办绝,放射性物質(zhì)發(fā)生泄漏姚淆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一降淮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧佳鳖,春花似錦、人聲如沸系吩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肴盏。三九已至,卻和暖如春菜皂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背幌墓。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工常侣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蜡饵,地道東北人胳施。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像舞肆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子筷登,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355