新人首帖 爬虫高分电影
本帖最后由 yx_robert 于 2018-11-13 18:38 编辑看论坛
学习很久
首次发个爬虫学习心得
高手无视
忽略丑陋的编码
#! /usr/bin/env python
# -*- coding: UTF-8 -*-
from lxml import etree
import requests
import sys
reload(sys)
sys.setdefaultencoding('gb2312')
def gbk_2_utf(_str):
return _str.decode('gb2312').encode('UTF-8')
main_web = 'https://www.dytt8.net/'
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36",
'Referer': 'http://www.ygdy8.net/html/gndy/dyzz/list_23_2.html'
}
new_movie_web = 'https://www.dytt8.net/html/gndy/dyzz/index.html'
movie_list = []
save_file = u'最新高分电影.txt'
def main():
url = new_movie_web
# 得到电影页代码
reopens = requests.get(url, headers=headers)
reopens.encoding = "gb2312"# 手动指定字符编码为utf-8
root = etree.HTML(reopens.text)# 导入
# root = etree.tostring(root, encoding="utf-8", xml_declaration=False)
# res = root.xpath('//a/@class') #取某节点所有某属性
# res = root.xpath('//*[@class="ulink"]') #取匹配的所有节点
# res = root.xpath('//*[@class="ulink"]/@href') #取匹配的所有节点的某属性
res = root.xpath('//*[@class="ulink"]')
# res = root.xpath('//*[@class="ulink"]/@*') #匹配所有属性
# res = root.xpath('//*//[@class="ulink"]')
# print type(res)
#
movie_name = ''
movie_adress = ''
str_grade = u'豆瓣评分 '
demand = float('7.5')
for i in res:
movie_url = main_web + i.attrib['href']
print movie_url
movie_name = i.text
req = requests.get(movie_url, headers=headers)
req.encoding = "gb2312"
s = req.text.find(str_grade)
if s != -1:
s += len(str_grade)
e = req.text.find('/')
# print req.text
val = float(req.text)
# print req.text
print val
if val > demand:
# print req.text
rt = etree.HTML(req.text)
# result = rt.xpath('//td/a/@href')
# 查找第一个td包含的a, 并且a的属性href中包含‘ftp’
result = rt.xpath('//td/a')
print type(result), result
for j in result:
# print j.attrib['href']
movie_adress = j.attrib['href']
movie_list.append()
# break
# print i.attrib['href'], i.text
with open(save_file, 'w') as f:
for i in movie_list:
f.write(i + '\n')
f.write(i + '\n\n')
f.close()
if __name__ == "__main__":
main() 谢谢分享 楼主辛苦了收藏 fch 发表于 2018-11-13 02:34
这代码放哪才可以运行就是说这代码怎样可以实现爬虫功能啊
命令行 cmd
python xxx.py
这是个代码分享
没做成工具 这代码放哪才可以运行就是说这代码怎样可以实现爬虫功能啊 感谢分享 不过没有输出信息 能不能加个输出信息啊 这样不知道状态 只能时不时的看一下保存的文本 str_grade = u'豆瓣评分 '
demand = float('7.0')
这里改成 7.0 没问题, 改成 6.0就获取不到了 为什么 赞一个,其实自己动手,丰衣足食。参照撸主代码试着自己写一个才会有长进, 以后找高分电影方便许多 点赞!谢谢分享! 感谢分享,已收藏 感谢分享