私のガールフレンドは休暇にお金を使いますが、私は家でパイソンでお金を稼ぎます、それを使うだけです~~~

みなさんこんにちはレッサーパンダです❤

ガールフレンドが休暇を取るのは簡単ではありません、彼女は私を花と一緒に連れて行くと本当に魅力的です〜

画像の説明を追加してください

彼女を甘やかしに来ませんか!

画像の説明を追加してください
プログラマーとして、自分の技術で価値を生み出すことを意識しないといけないですね~

今日はPythonを使ってアウトソーシングサイトを集める方法を紹介します〜

これが富への道の第一歩です。

画像の説明を追加してください

環境使用:

  • パイソン3.8
  • パイチャーム

モジュールの使用:

  • リクエスト >>> pip インストール リクエスト
  • パーセル >>> pip インストールパーセル
  • csv

モジュールのインストールの問題:

  1. win + R Enter cmd [OK] をクリックし、インストール コマンドを入力します pip install module name (pip install requests) Enter
  2. pycharm で [ターミナル] をクリックして、インストール コマンドを入力します。

インストール失敗の理由:
失敗 1: pip は内部コマンドではありません

解決策: 環境変数を設定する

失敗 2: 赤レポートが多い (読み取りタイムアウト)

解決策: ネットワーク リンクがタイムアウトしたため、ミラー ソースを切り替える必要があります。


清華: https://pypi.tuna.tsinghua.edu.cn/simple Alibaba
Cloud: http://mirrors.aliyun.com/pypi/simple/ 中国科学技術大学
https://pypi.mirrors.ustc .edu.cn /simple/
華中科技大学: http://pypi.hustunique.com/ 山東理工大学: http://pypi.sdutlinux.org/
Douban: http://pypi.douban.com /simple/ 例: pip3 install - i
https://pypi.doubanio.com/simple/ モジュール名


失敗 3: cmd は、インストールされていることを示しています。または、インストールは成功していますが、まだ pycharm にインポートできません。

解決策:複数のpythonバージョンがインストールされている可能性があります(anacondaまたはpythonでインストールできます)
。1つをアンインストールするか、pycharmのpythonインタープリターが設定されていません

クローラーケースを実装する方法は?

1. データを分析するのはどのようなものですか? データ ソースを分析しますか?

開発者ツールを使用してパケットをキャプチャし、データの送信元を分析します

2. コードの実装手順:

  1. リクエストを送信、URLアドレスを見つけるためのリクエストを送信
  2. データの取得、サーバーの戻りデータの取得
  3. データを解析し、必要なコンテンツを抽出します
  4. データを保存し、csv テーブルに保存します
  5. 複数ページのデータ収集: 要求された URL の変更法則を分析します

コード

モジュールのインポート

# 导入数据请求模块 导入模块没有使用 灰色待机状态
import requests  # 第三方模块 pip install requests  (别人写好 开源代码,你可以直接去调用)
# 导入数据解析模块
import parsel  # 第三方模块 pip install parsel
# 导入csv模块
import csv  # 内置模块 不需要安装的

全体

f = open('data.csv', mode='a', encoding='utf-8', newline='')
# 快速替换 选择替换内容 按住ctrl + R 输入正则
csv_writer = csv.DictWriter(f, fieldnames=[
    '标题',
    '招标',
    '浏览人数',
    '竞标人数',
    '招标状态',
    '价格',
    '详情页',
])
csv_writer.writeheader()

# 1. 发送请求, 对于找到url地址发送请求
for page in range(1, 11):
    print(f'正在爬取第{
      
      page}页的数据内容')
    url = f'https://task.epwk.com/page{
      
      page}.html'  # 确定网址
    # 爬虫模拟(伪装成)浏览器 对于url地址发送请求
    # 反爬 相当于别人给你打电话, 电话显示推销广告
    headers = {
    
    
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36'
    }
    response = requests.get(url=url, headers=headers)  # <Response [200]>  200状态码表示 请求成功 不代表得到数据了
    # 2. 获取数据, 获取服务器返回数据
    # print(response.text)   # 返回html字符串数据内容  >>> 提取字符串数据 要使用re正则
    # 3. 解析数据, 提取我们想要数据内容
    selectors = parsel.Selector(response.text)  # 需要转一下数据类型
    # 有了解过css选择器吗?  xpath根据标签节点提取数据, css选择器是根据标签属性提取数据
    # 第一次提取, 获取所有div标签
    divs = selectors.css('.itemblock')  # 列表
    for div in divs:  # for遍历循环
        # 定位有一个class类名字为title的div标签 下面a标签里面 title 属性
        # attr() 属性选择器, 选择某一个标签里面属性内容
        title = div.css('div.title a::attr(title)').get()  # get 返回字符串, 并且取第一个标签数据
        # strip() 去除字符串左右两端空格
        modelName = div.css('div.modelName::text').get().strip()  # 招标
        num = div.css('div.browser div:nth-child(2) span::text').get().strip()  # 浏览人数
        num_1 = div.css('div.browser div:nth-child(3) span::text').get().strip()  # 竞标人数
        status = div.css('span.status::text').get().strip()  # 招标状态
        price = div.css('span.price::text').get().strip()  # 价格
        href = div.css('div.title a::attr(href)').get()  # 详情页
        # 4. 保存数据, 保存到表格数据 字典创建  键:值  >>> 键值对  键值对与键值对之间用 逗号隔开
        # 值 可以是用任何数据类型, 键 大多数情况字符串数据类型 不能以数字
        dit = {
    
    
            '标题': title,
            '招标': modelName,
            '浏览人数': num,
            '竞标人数': num_1,
            '招标状态': status,
            '价格': price,
            '详情页': href,
        }
        csv_writer.writerow(dit)
        print(title, modelName, num, num_1, status, price, href)

ビデオチュートリアル [運命を持っている場合は、持っていなくても見ることができます]

https://www.bilibili.com/video/BV1vS4y1v7Fu/?spm_id_from=333.999.0.0

画像の説明を追加してください
みんな少しでも稼げますように〜

記事はここまで〜

レッサーパンダです、また次の記事でお会いしましょう(✿◡‿◡)

画像の説明を追加してください

おすすめ

転載: blog.csdn.net/m0_67575344/article/details/127125198