爬虫项目案例讲解 案例一:入门

爬虫项目案例讲解 案例一:入门

xpath:文档结构中定位某个元素
/ 从根节点来进行选择元素
// 从匹配选择的当前节点来对文档中的节点进行选择 不考虑当前位置
. 选取当前节点
… 选取当前节点的父节点
@ 选取属性

/html
body/div 选取属于body的子元素中的所有div元素
//div 选取所有div标签的子元素,而不管他们在html文档中的位置
@lang 选取名称为lang的所有属性

通配符

  • 匹配任何节点元素
    @* 匹配任何属性节点
    //* 选取文档当中的所有元素
    //title[@*] 选取所有带有属性的title元素

|
路径表达式中,| 注意:代表的是和的关系
//body/div | // body/li 选取body元素所有的div元素 和 li 元素
//div | // li 选取文档中所有的 div 和 li 元素

beautifulSoup:什么是beautilful:
是一个可以从html或者xml文件中提取数据的一个python库
&enc=utf-8 当复制网页出现乱码时,在最后加上这个,会正常显示。

常用语句:

cd part6(转到某个project下)
scrapy startproject [名字1]
cd [名字1]
scrapy genspider tonghuashun(所爬取的名字) [地址]

items包里面是一些变量,写着爬虫爬取那些数据
pipelines处理数据的类
seetings配置
在自己要爬取的py文件下写入如下代码:

-- coding: utf-8 --

import scrapy

class TonghuashunSpider(scrapy.Spider):
name = ‘tonghuashun’
allowed_domains = [‘stockpage.10jqka.com.cn’]
start_urls = [‘http://basic.10jqka.com.cn/600004/company.html’]

def parse(self, response):
# // [ @ id = “ml_001”] / table / tbody / tr[1] / td[1] / a
res_selector=response.xpath("//
[@id=“ml_001”]/table/tbody/tr[1]/td[1]/a/text()");
name=res_selector.extract();
print(name);
pass

之后,调试阶段,自己创建一个maon.py文件
from scrapy.cmdline import execute
import sys
import os
#调试的一个写法
sys.path.append(os.path.dirname(os.path.abspath(file)));
execute(“scrapy”,“crawl”,“tonghuashun”); #前两个参数是固定的,最后一个参数是自己创建的名字

发爬虫方式:
在seetings中写下面内容“
方式一:

USER_AGENT = “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)”
方式二:
DOWNLOADER_MIDDLEWARES = {
‘books.middlewares.RandomUserAgent’: 1,
}

USER_AGENTS = [
“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)”,
“Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)”,
“Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)”,
“Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)”,
“Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)”,
“Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322)”,
“Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)”,
“Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)”,
“Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6”,
“Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1”,
“Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/20080705 Firefox/3.0 Kapiko/3.0”,
“Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5”,
“Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko Fedora/1.9.0.8-1.fc10 Kazehakase/0.5.6”,
“Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11”,
“Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.20 (KHTML, like Gecko) Chrome/19.0.1036.7 Safari/535.20”,
“Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; fr) Presto/2.9.168 Version/11.52”,
]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值