新学习了selenium,啪一下腾讯招聘
1 from lxml import etree
2 from selenium import webdriver
3 import pymysql
4 def Geturl(fullurl):#获取每个招聘网页的链接
5 browser.get(fullurl)
6 shouye_html_text = browser.page_source
7 shouye_ele = etree.HTML(shouye_html_text)
8 zp_list = shouye_ele.xpath('//*[@id="position"]/div[1]/table/tbody/tr/td/a/@href')#链接url
9 zp_url_list = []
10 for zp_url_lost in zp_list:
11 zp_url = 'https://hr.tencent.com/'+zp_url_lost
12 zp_url_list.append(zp_url)
13 return zp_url_list
14 def Getinfo(zp_url_list):#获取每个招聘链接内部的内容
15 for zp_url in zp_url_list:
16 browser.get(zp_url)
17 zp_info_html = browser.page_source
18 zp_ele = etree.HTML(zp_info_html)
19 zp_info_title = str(zp_ele.xpath('//*[@id="sharetitle"]/text()')[0])
20 zp_info_location = str(zp_ele.xpath('//*[@id="position_detail"]/div/table/tbody/tr[2]/td[1]/text()')[0])
21 zp_info_type = str(zp_ele.xpath('//*[@id="position_detail"]/div/table/tbody/tr[2]/td[2]/text()')[0])
22 zp_info_num = str(zp_ele.xpath('//*[@id="position_detail"]/div/table/tbody/tr[2]/td[3]/text()')[0])
23 zp_info_need = str(zp_ele.xpath('//*[@id="position_detail"]/div/table/tbody/tr[3]/td/ul/li/text()'))
24 connection = pymysql.connect(host='localhost', user='root', password='1234', db='txzp', )
25 try:
26 with connection.cursor() as cursor:
27 sql = "INSERT INTO `txzp_info` (`title`, `location`,`type`,`num`,`need`) VALUES (%s,%s,%s,%s, %s)"
28 cursor.execute(sql, (zp_info_title,zp_info_location,zp_info_type,zp_info_num,zp_info_need))
29 connection.commit()
30 finally:
31 connection.close()
32 print(zp_info_title,zp_info_location,zp_info_type,zp_info_num,zp_info_need)
33 if __name__ == '__main__':
34 browser = webdriver.Chrome()
35 pags = int(input('需要几页?'))
36 for i in range(0,pags):
37 url = 'https://hr.tencent.com/position.php?keywords=&tid=0&start={}'
38 fullurl = url.format(str(i*10))
39 zp_url_list = Geturl(fullurl)
40 Getinfo(zp_url_list)
41 browser.close()