python爬取电影记录并生成excel表格

  
 <代码> #=utf - 8编码
  进口urllib2
  进口再保险
  进口xlwt
  进口smtplib
  进口随机
  导入的时间
  从email.mime。多部分进口MIMEMultipart
  从email.mime。文本导入MIMEText
  从email.mime。应用程序导入MIMEApplication
  
  # 1。先获取整个页面信息
  
  # Urllib模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。
  #首先,我们定义了一个getHtml()函数:
  # urllib.urlopen()方法用于打开一个URL地址。
  # read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,并把整个页面下载下来。执行程序就会把整个网页打印输出。
  #
  # #添加头部头
  # Agent_list=[]
  # user_agent=random.choice (Agent_list)
  # page.add_header(“用户代理”,user_agent)
  #
  #
  # #定义揭幕战,设置代理IP
  # ip_list=[]
  # httpproxy_handler=urllib2.ProxyHandler ({“http”: random.choice (ip_list)})
  #刀=urllib2.build_opener (httpproxy_handler)
  # urllib2.install_opener(刀)
  
  def getHtml (url):
  Agent_list=[' Mozilla/5.0 (Windows NT 6.1;Win64;AppleWebKit x64)/537.36 (KHTML,像壁虎)Chrome/78.0.3904.87 Safari/537.36”,
  “Mozilla/5.0 (Windows NT 6.1;WOW64) AppleWebKit/537.1 (KHTML,像壁虎)Chrome/22.0.1207.1 Safari 537.1”,
  “Mozilla/5.0 (X11;横i686 2268.111.0) AppleWebKit/536.11 (KHTML,像壁虎)Chrome/20.0.1132.57 Safari 536.11”
  ]
  ip_list=[‘223.198.16.58:9999’,‘110.244.12.96:9999’,‘61.145.8.103:9999’,‘223.198.19.214:9999’,‘112.85.125.111:9999’)
  user_agent=random.choice (Agent_list)
  httpproxy_handler=urllib2.ProxyHandler ({“http”: random.choice (ip_list)})
  刀=urllib2.build_opener (httpproxy_handler)
  urllib2.install_opener(刀)
  页面=urllib2.Request (url)
  page.add_header(“用户代理”,user_agent)
  响应=urllib2.urlopen(页面)
  html=response.read ()
  返回的html
  
  # 2。筛选页面中想要的数据
  
  #我们又创建了geturl()函数,用于在获取的整个页面中筛选需要的视频连接。
  #再保险模块主要包含了正则表达式:
  # r & lt; a href=' https://www.yisu.com/zixun/(/html/gndy/+ + html)的”,表示查找类似/html/gndy/jddy/20190607/58704.html地址的超链接。
  #正则表达式输出的是括号()里面的内容。
  #
  #正则表达式示例:r”(. *) (* ?)。*’
  #首先,这是一个字符串,前面的一个r表示字符串为非转义的原始字符串,让编译器忽略反斜杠,也就是忽略转义字符。
  #但是这个字符串里没有反斜杠,所以这个r可有可无。
  #。:匹配一个除了换行符任意一个字符
  # ^:只有后面跟的字符串在开的头,才能匹配上
  # *:它控制它前面那个字符,他前面那个字符出现0到多个都可以匹配上
  # +:匹配前面那个字符1到多次
  # ?:匹配前面那个字符0到1个,多余的只匹配一个
  (. *)第号一个匹配分组,。*代表匹配除换行符之外的所有字符。
  #(. * ?)第二个匹配分组,. * ?后面多个问号,代表非贪婪模式,也就是说只匹配符合条件的最少字符
  #后面的一个。*没有括号包围,所以不是分组,匹配效果和第一个一样,但是不计入匹配结果中。
  #
  # re.search (“com”,“com”, re.I) .group ()
  # re.I使匹配对大小写不敏感
  # re.L做本地化识别(识别地区)匹配
  # re.M多行匹配,影响^和$
  # re.S使。匹配包括换行在内的所有字符
  #
  # & lt; a href="祝辞。& lt;/a>表示超链接
  # re.compile()可以把正则表达式编译成一个正则表达式对象。
  # re.findall()方法读取html中包含urlre(正则表达式)的数据。
  #运行脚本将得到整个页面中包含图片的URL地址。
  #
  # reg=r”& lt; a href=' https://www.yisu.com/zixun/(/html/gndy。*)  
”   #匹配类似& lt; a href=' https://www.yisu.com/html/gndy/jddy/20160320/50523.html '在IMDB评分8分左右影片400余部& lt;/a> & lt; br/比;并输出括号里面的内容   #得到/html/gndy/jddy/20160320/50523.html’在IMDB评分8分左右影片400余部   #可以用reg=r”& lt; a href=' https://www.yisu.com/zixun/(/html/gndy/. * ?)
”   #可以用reg=r”& lt; a href=' https://www.yisu.com/zixun/(/html/gndy/+)
”   #可以用reg=r”& lt; a href=' https://www.yisu.com/zixun/(/html/gndy。+ ?)
”   #   # re.split (r“祝辞+”,resource_url)将得到的结果/html/gndy/jddy/20160320/50523.html的祝辞IMDB评分8分左右影片400余部”按照的祝辞切割成两部分。   # down_addr=" + down_page [j] down_page无法显示汉字,所以做了下转化   #   #我的范围(20)查询需要的条记录,从1开始的原因是因为第0个记录不是需要的数据。      def geturl (html):   reg=r”& lt; a href=' https://www.yisu.com/zixun/(/html/gndy。*)

python爬取电影记录并生成excel表格