1. 程式人生 > >一次簡單Python爬蟲程式碼記錄

一次簡單Python爬蟲程式碼記錄

順手記錄一次簡單Python爬蟲程式碼,留以後備用

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import cookielib
import urllib2
from urllib import urlencode
import MySQLdb
from bs4 import BeautifulSoup

# 資料庫
mydb = MySQLdb.connect(host="10.0.66.248", user="root", passwd="123456", db="invCloudOA", charset="utf8")
cursor = mydb.cursor()
mydb.autocommit(on="on"
) # 建一個cookie處理器的opener cookie = cookielib.CookieJar() handler = urllib2.HTTPCookieProcessor(cookie) conn = urllib2.build_opener(handler) # 請求引數 param = { 'email': '[email protected]', 'password': '88888888', 'target': 'http://aaaaaa.com/member' } # 傳送請求 resp = conn.open("http://aaaaaa.com/user/login"
, data=urlencode(param)) # 登入成功後,開始採集資料 for i in xrange(1, 200, 1): print("當前頁碼 %d" % i) try: resp_con = conn.open("http://aaaaaa.com/member/index/page/%d" % i, timeout=20) resp_string = resp_con.read() bs = BeautifulSoup(resp_string) a_list = bs.select('li[class="col-sm-6 col-md-4 col-lg-6"] a'
) try: for a in a_list: person_html = conn.open("http://aaaaaa.com%s" % a.get("href"), timeout=20) person_soup = BeautifulSoup(person_html) person_detail_soup = person_soup.find('div', class_='col-sm-12 col-md-8 detail-left min-padding') try: username = person_detail_soup.find('div', class_='detail').find('div', class_='introduce').find('h4').find('span').get_text() except: username = "" try: gongsi = person_detail_soup.find('div', class_='detail').find('div', class_='introduce').find('div', class_="local").find('a').get_text() except: gongsi = "" try: zhiwu = person_detail_soup.find('div', class_='detail').find('div', class_='introduce').find_all('div', class_="local")[1].get_text() except: pass try: diqu = person_detail_soup.find('div', class_='detail').find('div', class_='introduce').find_all('div', class_="local")[2].find('a').get_text() except: diqu = "" try: shouji = person_detail_soup.find_all('div', class_='contacts')[0].get_text() except: shouji = "" try: qq = person_detail_soup.find_all('div', class_='contacts')[1].get_text() except: qq = "" try: weibo = person_detail_soup.find_all('div', class_='contacts')[2].get_text() except: weibo = "" try: email = person_detail_soup.find_all('div', class_='contacts')[3].get_text() except: email = "" try: weixin = person_detail_soup.find_all('div', class_='contacts')[4].get_text() except: weixin = "" sql = "INSERT INTO`ft_person`(`mingzi`,`shouji`, `qq`, `weibo`, `emai`, `wexin`, `chanpinjingli`, `zhiyejingli`, `gerenjieshao`, `yuanid`,gongsi,zhiwu,diqu) VALUES('%s', '%s', '%s','%s' ,'%s', '%s','%s', '%s', '%s', '%s','%s','%s','%s');" % ( username, shouji, qq, weibo, email, weixin, "", "", "", a.get("href"), gongsi, zhiwu, diqu) cursor.execute(sql) print("採集成功 %s" % username.encode('utf-8')) except StandardError as ex: print(ex) print("採集該人物失敗 %s" % a.get("href")) except StandardError as ex: print(ex) print("採集第 %d 頁失敗!" % i) # 關閉資料庫 cursor.close()

相關推薦

簡單Python爬蟲程式碼記錄

順手記錄一次簡單Python爬蟲程式碼,留以後備用 #!/usr/bin/python # -*- coding: UTF-8 -*- import cookielib import urllib2 from urllib import urlencode i

簡單記錄簡單的優化

原因 循環 返回 嘗試 場景 業務場景 pre 這才 查看 #大致的業務場景 從一個報警表中查詢數據,報警表中有很多其他表的外鍵,比如報警的設備信息信息,報警的組織信息,報警的原件信息等等,也就是說查詢報警信息的時候可以查出來很多相關的信息,需求是參數傳一個組織id,要求查

python學習:簡單的購物車程序實例

isdigit python學習 python form compute 啟動 index computer nbsp 需求: 1、啟動程序後,讓用戶輸入余額,然後打印商品列表 2、允許用戶根據商品編號購買商品 3、用戶選擇商品後,檢查余額是否足夠,足夠加入購物車直接扣款,

簡單爬蟲(豆瓣/dytt)

  磕磕絆絆學python一個月,這次到正則表示式終於能寫點有趣的東西,在此作個記錄:   —————————————————————————————————————————————————   1.爬取豆瓣電影榜前250名單   執行環境: pycha

簡單程式碼審計

這段時間在想著做個高校的會員管理系統,所以在chrome上裝了個掘金外掛,今天發現日推推了個類似的PHP寫的小程式 本著能省就省,有自行車還造什麼輪子的原則 於是乎 git clone https://github.com/chaodada/member.git 經過簡單的部署後算是能打開了

[CentOS Python系列] .阿里雲伺服器安裝部署及第一個Python爬蟲程式碼實現

從2014年開始,作者主要寫了三個Python系列文章,分別是基礎知識、網路爬蟲和資料分析。它們都是基於Windows系統下的Python程式設計,每個系列都從安裝過程、基礎知識到實際應用三個方面進行講

記錄簡單的域滲透

0x00 前言   本次滲透沒有什麼騷操作 甚至也沒有什麼亮眼的地方 都是穩紮穩打來的 和表哥們一起復習一下常規思路 各位表哥別噴就好   大四考研狗本來就已經複習不動了 有一天忽然1572表哥發來一條php的shell,但是沒有執行許可權,於是換aspx馬子,提權之後手欠發現有內網,於是

簡單的xss漏洞分析

一個 自己 png 基本上 轉義 分享 對話框 class mage 起因,經過掃描,發現了一個反射型xss的漏洞: 那麽,我想,既然存在xss漏洞。如果沒有防火墻肯定是直接就利用了,直接插入<img src=x onerror=alert(0)>: 可以看

Tomcat運行失敗記錄

路徑 AR ever logs server _for inf 配置文件 本地 記一次Tomcat運行失敗記錄 如圖tomcat運行之後會出現這樣的情況,在網上百度之後大部分都說的是web.xml或者其他配置文件的問題,但是根據網上修改了之後卻還是老樣子。 這裏有比

Python爬蟲實踐 -- 記錄我的第一只爬蟲

width 進入 color spa alt ads python3 我們 round 一、環境配置 1. 下載安裝 python3 2. 安裝requests和lxml 進入到 pip 目錄,CMD --> C:\Python\Scripts,輸入命令: pip

重裝CM的坑爹記錄

nbsp manifest 每次 創建 信息 nts 多余 end ood 今天同事要對測試環境進行降級(測試高於生產所以要求降級),自己不經常搞運維,但是無奈測試環境沒運維管理只能自己上了。 流程和遇到問題按數字表示。 1.重裝CM(clouder manager)這個過

zabbix記簡單的部署包方式安裝

報錯 article 上海 使用 shang http 配置文件 火墻 安裝mysql zabbix記一次簡單的部署包方式安裝一次過 記一次部署包方式安裝一次過 環境centos7 zabbix 3.2.11 準備工作 關閉防火墻 systemctl stop fire

執行python爬蟲程式碼中遇到的問題~

可以算是一次小嚐試~ 遇到的問題有:       from bs4 import BeautifulSoup ModuleNotFoundError: No module named 'bs4'   bs4.FeatureNo

簡單的破解程式(逆向)

已投稿合天 載入以後然後隨便輸入一個密碼然後在程式中搜索報錯資訊。 例如如下搜尋的:   然後雙擊進入。 然後發現JE將其修改為JEN(JE是==,而JEN是!=,如此便打破了原有的邏輯) 右鍵編輯->二進位制編輯 將74改為75(這裡所說的74、75就是JE

簡單的逆向

crackme  (2018-02-26 01:13:13) 轉載▼       隨便輸個key 錯誤 -----------------------------

多資料來源 配置問題記錄

  現在的專案是個多資料來源的配置,前兩天 做專案遷移,要把另一個專案遷移到api的專案裡面。於是 貼上複製後,發現不能執行。。。 最後發現是多資料來源配置出了問題。      <?xml version="1.0" encoding="UTF-8"?

template,泛型實現閹割版的優先佇列(簡單的嘗試)

水完棧和佇列之後,感覺常用的優先佇列也不錯,內部的排序是堆排序,感覺也不是很難,就直接寫上了,但是實現的時候出現了一些問題,幸好有學長在旁邊,幫助我解決了問題,在此感謝LYG學長; 對於排序,仍然自定義型別,然後對於優先順序,進行過載,寫完這個之後感覺對泛型的運用瞭解了一些,對堆的感覺也更強了點

Python爬蟲實踐 -- 記錄我的第二隻爬蟲

1、爬蟲基本原理 我們爬取中國電影最受歡迎的影片《紅海行動》的相關資訊。其實,爬蟲獲取網頁資訊和人工獲取資訊,原理基本是一致的。 人工操作步驟: 1. 獲取電影資訊的頁面 2. 定位(找到)到評分資訊的位置 3. 複製、儲存我們想要的評分資料 爬蟲操作步驟: 

簡單的日誌分析

  題目檔案:https://files.cnblogs.com/files/nul1/access.log.tar 直接搜尋flag發現是一題關於二分法注入。 頁面為200的位元組大小為1765,所以可以通過讀取每行判斷是否有1765以及有沒有flag的關鍵字樣,進而提取值。 指令碼如

一個簡單Python爬蟲例項(爬取的是前程無憂網的部分招聘資訊)

從今天開始學習爬蟲,展示我的第一個例項(用的是Python3寫的,Python2需要加個編碼方式吧,或許還有其他的不相容的地方吧,我就不知道了),把這分享給大家,希望對大家有一些幫助 import urllib,re import urllib.request import xlwt #開啟網頁