独身犬の福祉Pythonはあるウェディングネットワークの結婚データを取得します。


ターゲットURL https://www.csflhjw.com/zhenghun/34.html?page=1
一、画面を開く
在这里插入图片描述
マウスの右ボタンを開けてチェックしてください。文姫の結婚情報です。これにより同期ローディングと判断されました。
在这里插入图片描述
elementsをクリックして、ピクチャーの住所を位置付けして、ボックスの中で女性のurl住所とピクチャーの住所です。
在这里插入图片描述
女性のurl住所が不全であることが分かります。その後、コードの中でurlのつづり合わせを行います。ページをめくるurlの住所に何か変化がありますか?
2ページをクリックします
https://www.csflhjw.com/zhenghun/34.html?page=2
3ページをクリックします
https://www.csflhjw.com/zhenghun/34.html?page=3
変化が最後に見える。
fou循環フォーマットを作って出力してください。全部で10ページです
在这里插入图片描述
二、コード解析
1.すべての女性のurlを取得すると、xpathの経路は詳しく説明しません。
在这里插入图片描述
2.女性一人当たりのurlアドレスを構築する
在这里插入图片描述
3.女性のurlアドレスを注文して、同じ方法で同期ローディングを確定します。
在这里插入图片描述
4.その後はレディースurlアドレス)のxpath抽出です。プリントして、不要なものをフィルタしてください。
在这里插入图片描述
在这里插入图片描述
5.最後にファイルの保存です。
在这里插入图片描述
印刷結果:
在这里插入图片描述
在这里插入图片描述
三、完全コード

# !/usr/bin/nev python
# -*-coding:utf8-*-

import requests, os, csv
from pprint import pprint
from lxml import etree

def main():
    for i in range(1, 11):
        start_url = 'https://www.csflhjw.com/zhenghun/34.html?page={}'.format(i)

        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
                          'Chrome/87.0.4280.88 Safari/537.36'

        }
        response = requests.get(start_url, headers=headers).content.decode()
        # # pprint(response)
        # 3     
        html_str = etree.HTML(response)
        info_urls = html_str.xpath(r'//div[@class="e"]/div[@class="e-img"]/a/@href')
        # pprint(info_urls)

        # 4、       img_info_url
        for info_url in info_urls:
            info_url = r'https://www.csflhjw.com' + info_url
            # print(info_url)
            # 5、 info_url   ,    img_urls
            response = requests.get(info_url, headers=headers).content.decode()
            html_str = etree.HTML(response)
            # pprint(html_str)
            img_url = 'https://www.csflhjw.com/' + html_str.xpath(r'/html/body/div[4]/div/div[1]/div[2]/div[1]/div['
                                                                r'1]/img/@src')[0]
            # pprint(img_url)
            name = html_str.xpath(r'//div[@class="team-info"]/div[@class="team-e"]/h2/text()')[0]
            # pprint(name)
            xueli = html_str.xpath(r'//div[@class="team-info"]/div[@class="team-e"]/p[1]/text()')[0].split(':')[1]
            # pprint(xueli)
            job = html_str.xpath(r'//div[@class="team-info"]/div[@class="team-e"]/p[2]/text()')[0].split(':')[1]
            # pprint(job)
            marital_status = html_str.xpath(r'//div[@class="team-info"]/div[@class="team-e"]/p[3]/text()')[0].split(
                ':')[1]
            # pprint(marital_status)
            is_child = html_str.xpath(r'//div[@class="team-info"]/div[@class="team-e"]/p[4]/text()')[0].split(':')[1]
            # pprint(is_child)
            home = html_str.xpath(r'//div[@class="team-info"]/div[@class="team-e"]/p[5]/text()')[0].split(':')[1]
            # pprint(home)
            workplace = html_str.xpath(r'//div[@class="team-info"]/div[@class="team-e"]/p[6]/text()')[0].split(':')[1]
            # pprint(workplace)
            requ = html_str.xpath(r'/html/body/div[4]/div/div[1]/div[2]/div[2]/div[2]/p[2]/span/text()')[0].split(':')[1]
            # pprint(requ)
            requ = [requ if requ != str() else '   '][0]
            monologue = html_str.xpath(r'//div[@class="hunyin-1-3"]/p/text()')
            # pprint(monologue)
            monologue = [monologue[0].replace(' ', '').replace('\xa0', '') if monologue !=list() else ' '][0]
            # pprint(monologue)
            zeo_age = html_str.xpath(r'/html/body/div[4]/div/div[1]/div[2]/div[2]/div[2]/p[1]/span[1]/text()')[0].split(':')[1]
            zeo_age = [zeo_age if zeo_age!=str() else '   '][0]
            # pprint(zeo_age)
            zeo_address = html_str.xpath(r'/html/body/div[4]/div/div[1]/div[2]/div[2]/div[2]/p[1]/span[2]/text()')[0].split(':')[1]
            zeo_address = [zeo_address if zeo_address!=str() else '   '][0]
            # pprint(zeo_address)

            if not os.path.exists(r'./{}'.format('      ')):
                os.mkdir(r'./{}'.format('      '))
                csv_header = ['  ', '  ', '  ', '    ', '    ', '    ', '    ', '    ', '    ', '    ', '    ', '    ']
                with open(r'./{}/{}.csv'.format('      ', '    '), 'w', newline='', encoding='gbk') as file_csv:
                    csv_writer_header = csv.DictWriter(file_csv, csv_header)
                    csv_writer_header.writeheader()

            try:
                with open(r'./{}/{}.csv'.format('      ', '    '), 'a+', newline='',
                          encoding='gbk') as file_csv:
                    csv_writer = csv.writer(file_csv, delimiter=',')
                    csv_writer.writerow([name, xueli, job, marital_status, is_child, home, workplace, zeo_age,
                                         zeo_address, requ, monologue, img_url])
                    print(r'***      :{}'.format(name))
            except Exception as e:
                with open(r'./{}/{}.csv'.format('      ', '    '), 'a+', newline='',
                          encoding='utf-8') as file_csv:
                    csv_writer = csv.writer(file_csv, delimiter=',')
                    csv_writer.writerow([name, xueli, job, marital_status, is_child, home, workplace, zeo_age,
                                         zeo_address, requ, monologue, img_url])
                    print(r'***          :{}'.format(name))



if __name__ == '__main__':
    main()
これは独身犬の福祉についてですか?Pythonはある結婚ネットの結婚データを取得した文章を紹介しました。これに関連して、Pythonは結婚データの内容を探してください。以前の文章を探してください。または次の関連記事を見てください。これからもよろしくお願いします。