# 爬取当当网图书
import requests
from pyquery import PyQuery
import csv
import time
class DDSider(object):
def __init__(self,key):
self.key = key
self.headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
}
self.base_url = 'http://search.dangdang.com/?key='+key+'&act=input&page_index={}'
# 获取界面内容
def get_pageInfo(self):
num_page = 0
while True:
num_page += 1
page_url = self.base_url.format(num_page)
res = requests.get(page_url,headers=self.headers)
# print(res.content.decode('GBK'))
# 解析
self.parse_pageInfo(res.content.decode('GBK'))
time.sleep(1)
if num_page == 1:
break
def parse_pageInfo(self,html):
doc = PyQuery(html)
book_ul = doc('#component_59 li').items()
for one_li in book_ul:
# print(one_li)
# 图片的链接
if one_li('.pic img').attr('data-original'):
img_url = one_li('.pic img').attr('data-original')
else:
img_url = one_li('.pic img').attr('src')
# 标题
title = one_li('.name a').attr('title')
# 价格
price = one_li('.price .search_now_price').text()
# 获取评价数
comments = one_li('.search_star_line .search_comment_num').text()
#search_star_black
# stars = one_li('.search_star_black span').attr('style').split(':')[-1].strip('%;')
stars = float(one_li('.search_star_black span').attr('style').split(':')[-1].strip('%;'))/20
# print(stars)
if __name__ == "__main__":
dd = DDSider('python')
dd.get_pageInfo()
5.0
4.5
4.5
4.5
4.5
4.5
4.5
5.0
4.5
4.5
5.0
4.5
5.0
3.0
4.5
4.5
5.0
5.0
5.0
4.5
5.0
4.5
4.5
4.5
4.5
0.0
4.5
4.5
4.5
4.0
4.5
5.0
4.0
5.0
4.5
4.5
4.5
5.0
3.0
5.0
5.0
5.0
5.0
4.5
4.5
0.0
5.0
5.0
4.5
5.0
4.0
5.0
4.5
5.0
4.5
0.5
4.5
4.5
4.0
5.0
import time
import requests
import json
# 时间戳: 1970-01-01 00:00:00 到当前时间的的秒数(10位数)或者是毫秒数(13位)
# timestamp = 1559223244110
# timearray = time.localtime(float(timestamp/1000))
# tt = time.strftime('%Y--%m--%d %H:%M:%S',timearray)
# print(tt)
# 把当前时间转成时间戳的格式
# timestamp = int(time.time())*1000
# timearray = time.localtime(float(timestamp/1000))
# tt = time.strftime('%Y--%m--%d %H:%M:%S',timearray)
# print(tt)
# 动态界面的爬取
base_url = 'https://careers.tencent.com/tencentcareer/api/post/Query?timestamp={}&keyword=Python&pageIndex=1&pageSize=10&language=zh-cn&area=cn'
timestamp = int(time.time())*1000
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
}
url = base_url.format(timestamp)
print(url)
res = requests.get(url=url,headers=headers)
# print(res.content.decode('utf-8'))
# 将数据转化成Python对象
conntent_dict = json.loads(res.content.decode('utf-8'))
Data_dict = conntent_dict['Data']
# posts_list 里面存的就是我们想要的数据
posts_list = Data_dict['Posts']
# 拿到每一条数据
for value_dict in posts_list:
RecruitPostName = value_dict['RecruitPostName']
print(RecruitPostName)
LastUpdateTime = value_dict['LastUpdateTime']
print(LastUpdateTime)
https://careers.tencent.com/tencentcareer/api/post/Query?timestamp=1559224906000&keyword=Python&pageIndex=1&pageSize=10&language=zh-cn&area=cn
25923-监控系统开发工程师(Python)(深圳)
2019年05月30日
31504-AI机器人后台开发工程师(python)
2019年05月29日
CSIG16-python高级研发工程师
2019年05月25日
TME-腾讯音乐python开发工程师
2019年05月17日
25923-Python高级工程师(上海)
2019年04月19日
25923-Python高级工程师(深圳)
2019年04月19日
25923-数据分析平台开发工程师(Python)(深圳)
2019年03月21日
PCG04-安全测试专家(后台服务/客户端)
2019年05月30日
30359-大数据高级开发工程师(深圳)
2019年05月30日
31504-腾讯云监控高级运维工程师
2019年05月30日