輕鬆利用Python爬蟲爬取你想要的資料
import urllib.request
from bs4 import BeautifulSoup
import time
import pymysql
def headers_request(url):
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36'
}
request=urllib.request.Request(url,headers=headers)
return request
# 解析內容
def parse_content(content, db):
# 生成 soup 物件
soup = BeautifulSoup(content,'lxml')
# 先找包含所有工作的 div
odivbox = soup.find('div',id='resultList')
# 首先找到包含所有工作的 div
odiv_list = odivbox.find_all('div',class_='el')[1:]
# print(len(odiv_list))
for odiv in odiv_list:
# 職位名稱
jobname = odiv.select('.t1 > span > a')[0]['title']
# 公司名稱
company = odiv.select('.t2 > a')[0]['title']
# 工作地點
area = odiv.select('.t3')[0].string
# 職位月薪
salary = odiv.select('.t4')[0].string
# 釋出時間
publish_time = odiv.select('.t5')[0].string
# print(salary, publish_time)
# 儲存到字典中
item = {
' 職位名稱 ':jobname,
' 公司名稱 ':company,
' 工作地點 ':area,
' 職位月薪 ':salary,
' 釋出時間 ':publish_time
}
# 儲存到檔案中
# string = str(item) + '\n'
# fp.write(string)
# 儲存到 mysql 中
save_to_mysql(db,item)
def save_to_mysql(db,item):
# 獲取遊標
cur = db.cursor()
# 執行 sql 語句
sql = """insert into work(jobname,company,area,salary,publish_time) values('%s','%s','%s','%s','%s')""" % (item[' 職位名稱 '], item[' 公司名稱 '], item[' 工作地點 '], item[' 職位月薪 '],外匯跟單gendan5.com item[' 釋出時間 '])
# print(sql)
try:
cur.execute(sql)
# 提交
db.commit()
except Exception as e:
# print(e)
# 錯誤回滾
db.rollback()
def main():
# fp = open('work.txt','w',encoding='utf8')
# 連結資料庫
db = pymysql.connect(host="xxxx",user="xxxx",password="xxxxxx",db="xx",port=xxxx,charset='utf8')
# 使用者輸入要搜尋工作關鍵字
keyword = input(' 請輸入要搜尋的關鍵字 -')
# 使用者輸入要爬取的起始和結束頁碼
start_page = int(input(' 請輸入要爬取的起始頁碼 -'))
end_page = int(input(' 請輸入要爬取的結束頁碼 -'))
# 要拼接的起始 url
url = '{},2,{}.html'
# 寫迴圈,每一頁開始挨著爬取
for page in range(start_page,end_page + 1):
print(' 正在爬取第 %s 頁 ......' % page)
# 拼接 url
url_page = url.format(keyword,page)
# print(url_page)
# 構建請求物件
request = headers_request(url_page)
# 傳送請求,得到響應
content = urllib.request.urlopen(request).read().decode('gbk')
# 解析內容
parse_content(content,db)
print(' 結束爬取第 %s 頁 ' % page)
time.sleep(2)
# fp.close()
db.close()
if __name__ == '__main__':
main()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2791528/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 不會Python爬蟲?教你一個通用爬蟲思路輕鬆爬取網頁資料Python爬蟲網頁
- 利用Python爬蟲爬取天氣資料Python爬蟲
- 一個月入門Python爬蟲,輕鬆爬取大規模資料Python爬蟲
- 利用python編寫爬蟲爬取淘寶奶粉部分資料.1Python爬蟲
- 爬蟲專案(一)爬蟲+jsoup輕鬆爬知乎爬蟲JS
- 房產資料爬取、智慧財產權資料爬取、企業工商資料爬取、抖音直播間資料python爬蟲爬取Python爬蟲
- python爬蟲總是爬不到資料,你需要解決反爬蟲了Python爬蟲
- 揭秘高收入副業:如何利用爬蟲技術輕鬆賺取額外收入!爬蟲
- Python爬蟲框架:scrapy爬取高考派大學資料Python爬蟲框架
- Python爬蟲入門【3】:美空網資料爬取Python爬蟲
- 爬蟲解析庫:XPath 輕鬆上手爬蟲
- 【python爬蟲案例】利用python爬取豆瓣電影TOP250評分排行資料!Python爬蟲
- python爬蟲---網頁爬蟲,圖片爬蟲,文章爬蟲,Python爬蟲爬取新聞網站新聞Python爬蟲網頁網站
- 爬蟲爬取資料如何繞開限制?爬蟲
- 【爬蟲】利用Python爬蟲爬取小麥苗itpub部落格的所有文章的連線地址(1)爬蟲Python
- python爬蟲利用代理IP分析大資料Python爬蟲大資料
- Scrapy 輕鬆定製網路爬蟲爬蟲
- 利用python爬取某殼的房產資料Python
- GitHub 上這款新浪微博爬蟲專案,讓你輕鬆掌握微博資料!Github爬蟲
- Python爬蟲筆記(4):利用scrapy爬取豆瓣電影250Python爬蟲筆記
- 【Python學習】爬蟲爬蟲爬蟲爬蟲~Python爬蟲
- python網路爬蟲(7)爬取靜態資料詳解Python爬蟲
- Python爬蟲訓練:爬取酷燃網視訊資料Python爬蟲
- python爬蟲 爬取豆瓣電影 1-10 ajax 資料Python爬蟲
- 【python爬蟲案例】利用python爬取豆瓣讀書評分TOP250排行資料Python爬蟲
- python 爬蟲 爬取 learnku 精華文章Python爬蟲
- python爬蟲——爬取大學排名資訊Python爬蟲
- 爬蟲實戰——58同城租房資料爬取爬蟲
- 如何保障爬蟲高效穩定爬取資料?爬蟲
- Golang爬蟲,Go&&正則爬取資料,槓桿的Golang爬蟲
- Python爬蟲之小說資訊爬取與資料視覺化分析Python爬蟲視覺化
- 利用python爬取58同城簡歷資料Python
- python爬蟲--爬取鏈家租房資訊Python爬蟲
- Python爬蟲爬取美劇網站Python爬蟲網站
- python爬蟲爬取糗事百科Python爬蟲
- Python爬蟲實戰:爬取淘寶的商品資訊Python爬蟲
- Python爬蟲學習(5): 簡單的爬取Python爬蟲
- 新手小白的爬蟲神器-無程式碼高效爬取資料爬蟲