自動識別獲取ip爬取資料資訊

2021-08-25 12:04:13 字數 2301 閱讀 9805

from bs4 import beautifulsoup

import requests

import ip_proxy

from urllib import parse

headers =

defget_boss_info

(my_ip,detailed_url):

#url = ''

proxy =

response = requests.get(detailed_url, headers=headers, proxies = proxy, timeout=5)

soup = beautifulsoup(response.text, 'lxml')

title = soup.find('h1').text

#div_ele = soup.find('div', class_="name")

#print(div_ele)

salary = soup.find('span', class_="badge").text.replace('\n', '').strip()

print(title)

print(salary)

gezhong_info = soup.select('div.info-primary > p')[0].text.replace('\n', '').strip()

print(gezhong_info)

gangwei_info = soup.select('div.text')[0].text

print(gangwei_info)

# 獲取詳情頁的url

defget_detail_url

(my_ip, url):

# url = ''

proxy =

response = requests.get(url, headers = headers, proxies=proxy, timeout=5)

soup = beautifulsoup(response.text, 'lxml')

#a_ele_list = soup.select('h3.name > a')

a_ele_list = soup.select('div.job-list > ul > li div.info-primary > h3 > a')

for a_ele in a_ele_list:

# 屬性值的獲取可以通過類似字典的方式獲取

a_href = a_ele['href']

# 拼接詳情頁的鏈結

href = parse.urljoin(url, a_href)

print('詳情頁的href: ' + href)

# 重試三次, 獲取**訪問boss直聘, 三次沒有成功訪問就跳過

for i in range(0,3):

try:

# 獲取詳情頁的資訊

get_boss_info(my_ip, href)

break

except exception as e:

print(e)

my_ip.update_ip_proxy_str()

defget_all_info

(my_ip):

base_url = ''

for i in range(1,4):

# 每乙個分頁的url

url = base_url % (i, i)

# 迴圈處理, 如果proxy不好使, 就需要換**, 如果重試4次依然不好使,就跳過

for i in range(0, 4):

try:

# 迴圈四次訪問boss直聘的**, 分頁的內容

# get_detail_url(my_ip, url)

get_detail_url(my_ip, url)

break

except exception as e:

print(e)

my_ip.update_ip_proxy_str()

if __name__ == '__main__':

my_ip = ip_proxy.ip_getter()

# 獲取乙個ip

# proxy_str = '36.27.143.72:21450'

# print(proxy_str)

# 獲取所有的boss直聘資訊

get_all_info(my_ip)

# with open('boss.html', 'wb') as f:

# f.write(response.content)

自動識別USB埠連線資訊

技術背景 隨著usb埠裝置越來越多,大部分裝置可以通過電腦連線來實現資料訪問以及各種操作,usb埠的裝置種類增多,電腦的usb埠也不斷增加,如果想連線到電腦上必須通過具備有usb埠的資料線。但各種裝置都到電腦上很容易混亂不知道哪個和哪個的,就是在用滑鼠點選退出不需要的硬體裝置埠時,很不容易區分,並且...

堆疊資訊獲取value 招聘職位資訊爬取

1 網路抓包 我使用的是谷歌瀏覽器,通過抓包分析發現職位資訊請求的資料介面是 構造請求引數,請求資料,示例 如下 get position函式需要傳達兩個引數,kd代表請求的關鍵字,pn代表請求的頁數。這樣的確可以請求到拉勾的職位資料,當我們實際執行指令碼的時候就會發現,在抓取10頁資料之後,便會請...

python爬取資料庫資訊

一 今日學習內容 資料庫儲存爬取的資訊 mysql 爬取到的資料為了更好地進行分析利用,而之前將爬取得資料存放在txt檔案中後期處理起來會比較麻煩,很不方便,如果資料量比較大的情況下,查詢更加麻煩,所以我們通常會把爬取的資料儲存到資料庫中便於後期分析利用。這裡,資料庫選擇mysql,採用pymysq...