【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

爬虫示例程序

原创 2017年01月03日 14:27:14
import requests
from bs4 import BeautifulSoup
try:
    import xml.etree.cElementTree as ET
except ImportError:
    import xml.etree.ElementTree as ET

base_url = 'http://history.xikao.com'
response = requests.get(base_url + '/people')
soup = BeautifulSoup(response.text'html.parser')

a_family_array = soup.find('div'id='article').ul.findAll('a')
#存放每个演员名字和网址的dict
name_url = dict()
#演员总数
peopleNum = 0
dis_num = 0
#遍历所有姓氏
for a_family in a_family_array:
    response = requests.get(base_url + a_family['href'])
    soup = BeautifulSoup(response.text'html.parser')

    #得到所有演员的a标签
    a_name_array = soup.find('div'id='article').findAll('a')

    #遍历所有演员
    for a_name in a_name_array:
        name_url[a_name['title']] = base_url + a_name['href']
        peopleNum += 1
        print(a_name['title']base_url + a_name['href'])

xml_name_root = ET.Element('people')
xml_people_root = ET.Element('people')

count = 0

for name in name_url:
    person_abs_url = name_url[name]
    # 将所有演员姓名保存到xml中
    xml_name = ET.SubElement(xml_name_root'name')
    xml_name.text = name

    if count <= 1000:
        # 将演员姓名,url,介绍放在xml中
        response = requests.get(person_abs_url)
        soup = BeautifulSoup(response.text'html.parser')
        xml_person = ET.SubElement(xml_people_root'person')
        xml_name = ET.SubElement(xml_person'name')
        xml_name.text = name
        xml_url = ET.SubElement(xml_person'url')
        xml_url.text = person_abs_url
        xml_dis = ET.SubElement(xml_person'dis')

        # 去掉网页中“活动年表”以后的文字
        import re
        try:
            all_text = soup.find('div'id='article').table.text.strip()
            useful_text = re.compile('活动年表.*').sub(''all_text)
            xml_dis.text = useful_text
            count += 1
            print('抓取了第'count'个演员'name'的信息')
        except:
          pass

tree_name = ET.ElementTree(xml_name_root)
f = open('E:/name.xml''wb')
tree_name.write(f)
f.close()

tree_people = ET.ElementTree(xml_people_root)
f = open('E:/discription.xml''wb')
tree_people.write(f)
f.close()
版权声明:欢迎交流讨论,转载请注明出处 举报

相关文章推荐

requests+BeautifulSoup爬虫示例程序

import requests from bs4 import BeautifulSoup try: import xml.etree.cElementTree as ET except Im...

Hadoop学习(一) - 搭建环境&示例程序

环境:  CentOS release 6.5 (Final)  hadoop-2.2.0 下载地址: http://archive.apache.org/
  • waw
  • waw
  • 2014-12-15 19:54
  • 178

【Arduino官方教程第一辑】示例程序 6-3 Memsic2125加速度计

Memsic2125是一款两轴加速度计,它能够测量两个方向正负2g的加速度(g代表重力加速度)。它的引脚设计很简单:只有两个数据输出引脚,一个为X轴,一个为Y轴。它的数据输出引脚会根据加速度的大小输出...

实战Memcached缓存系统(1)Memcached基础及示例程序

尊重知识,转载请注明本文来自:编程艺术家Poechant的CSDN博客 http://blog.csdn.net/potent 1、Cac

EasyXSpider----一个Linux下的爬虫,倒排序索引,多条件检索,二元切词以及Google PageRank算法的示例程序

zigbee学习:示例程序SampleApp中按键工作流程

zigbee学习:示例程序SampleApp中按键工作流程 本文博客链接
  • ydbc
  • ydbc
  • 2013-06-29 16:08
  • 67

CaysnPrinter - Windows平台开发包打印示例程序及接口说明文档 - 20170531

CaysnPrinter打印示例程序:CaysnPrinter打印机开发包示例程序_20170531 CaysnPrinter打印开发包接口说明文档中文版:PrinterLibs_For_Window...

SuperMap中示例程序MapComponentSample中错误的解决办法

导入的示例程序MapComponent,jar包全部加载了,运行后报下面的错,是什么问题?   java.lang.UnsatisfiedLinkError: no Wrapj600 in java.library.path at java.lang.ClassLoader.loadLibrary(ClassL

Caysn打印机IOS平台打印开发包、接口说明文档及示例程序_20170717

打印机开发包,接口说明文档,打印示例程序下载地址:Caysn打印机IOS开发包、文档、示例程序_20170717 Caysn打印机IOS平台开发包,接口说明文档,打印示例程序。  Framework版...

战Memcached缓存系统(1)Memcached基础及示例程序

1、Cache定义(1)狭义概念:用于CPU的相对高速处理与主存(Main Memory)的相对低速处理的之间起到协调功能的硬件设备。(2)广义概念:用于速度相差较大的两种硬件之间,起到协调两者数据传输速度差异的结构。狭义概念来自于Cache自1967出现以来较长时间
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)